Професионална програма
Loading...
+ Нов въпрос
sportsman avatar sportsman 137 Точки

[Technical Issue] Java Basics - Как да break-вам от два цикъла едновременно?

Здравейте. При положение, че съм създал един for цикъл и след това в тялото му- друг for цикъл, и искам от тялото на втория for цикъл да излеза и от двата на веднъж, как мога да направя това. Благодаря.

0
Java Advanced
Alexandar avatar Alexandar 118 Точки

Здравей,

трябва ти така наречения break label

ето ти пример:

 search: // break label
 for (int i = 0; i < 10; i++) { 
     for (int j = 0; j < 10; j++) {  
         if (j == 5) {
             break search;  // break j and i
         }
     }
 }

5
vladislav_hadzhiyski avatar vladislav_hadzhiyski 66 Точки

Здравей,

Също така може да го реализираш и с булева променлива.

boolean isTrue = true;

for(int i = 0; i < 10 && isTrue; i++){

    for(int j = 0; j < 5; j++){

        if(condition){

            isTrue = false;

            break;

        }

    }

}

Булевата променлива като стане False излизаш от двата цикъла независимо дали са се извъртяли напълно или не.

4
Alexandar avatar Alexandar 118 Точки

Колега бърза поправка. Не можеш да слагаш никъкъв код след "break;" ! Ако искаш това да работи isTrue = false; - трябва да е преди break-a.

if(condition){

isTrue = false;

break;

}

0
vladislav_hadzhiyski avatar vladislav_hadzhiyski 66 Точки

Извинявам се за грешката... От бързане така се получава laughing

0
RoYaL avatar RoYaL Trainer 6845 Точки

Нещо не разбрах. Булевата променлива като стане FALSE, излизаш от двата цикъла? Как така. По-скоро ако conditin стане TRUE излизаш от вътрешния цикъл. И в този случай boolean isTrue е излишна.

0