2014-05-08 17 views
9

Chcę przerwać pętlę formatu, poniżej którego ma instrukcję if. Jeśli ta instrukcja if jest prawdziwa, pętla while również musi się zepsuć. Każda pomoc będzie doceniona.Jak przerwać pętlę z warunku if wewnątrz pętli while?

while(something.hasnext()) { 
    do something... 
    if(contains something to process){ 
     do something 
     break if condition and while loop 
    } 
} 
+2

Mówiłeś odpowiedź na swoje pytanie! –

+0

** break if loop ** coś 'do' 'while loop' wprawiło mnie w zakłopotanie. Myślałem, że są dwie pętle. – Braj

+0

Nie możesz powiedzieć 'if (true) {break;}'. – Braj

Odpowiedz

27

if nie jest pętlą. Wystarczy zadzwonić pod numer break;.

wymyślony przykład:

public static void main(String[] args) { 
    int i = 0; 
    while (i++ < 10) { 
    if (i == 5) break; 
    } 
    System.out.println(i); //prints 5 
} 

Gdybyś rzeczywiście przy zagnieżdżone pętle, byłbyś w stanie to use labels.

+0

@ Codelearn14 Powtarzacie to, ale nieważne, ile razy powiecie, że to będzie nadal fałszywe. –

+0

@ Codelearn14 Czy możesz podać przykład kodu, który udowodni, co mówisz? Być może warunek "if" nigdy nie jest spełniony, uniemożliwiając wywołanie 'break'. – Pshemo

+0

Tak, myślę, że to samo. Mój zły przykro mi i dzięki za pomoc – Coder2017

2

"Jeśli" nie jest pętlą. Po prostu użyj przerwy wewnątrz "if", a wyskoczy z "while".

Jeśli kiedykolwiek zajdzie potrzeba użycia oryginalnych pętli zagnieżdżonych, Java ma koncepcję oznaczonego znakiem przerwania. Możesz umieścić etykietę przed pętlą, a następnie użyć nazwy etykiety jako argumentu do zerwania. Spowoduje to wyjście poza oznaczoną pętlę.

3
while(something.hasnext()) 
do something... 
    if(contains something to process){ 
     do something... 
     break; 
    } 
} 

Wystarczy użyć instrukcji break;

Dla np: to po prostu drukuje "breaking ..."

while (true) { 
    if (true) { 
     System.out.println("Breaking..."); 
     break; 
    } 
    System.out.println("Did this print?"); 
} 
+0

@rahul Proszę odpowiedzieć – Braj

Powiązane problemy