2014-05-08 10 views
9

Ich möchte eine while-Schleife des folgenden Formats brechen, die eine if-Anweisung hat. Wenn diese if-Anweisung wahr ist, muss auch die while-Schleife unterbrochen werden. Jede Hilfe wäre willkommen.Wie bricht man eine while-Schleife aus einer if-Bedingung innerhalb der while-Schleife?

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

Du hast gesagt, die Antwort in Frage! –

+0

** break if loop ** etwas 'do'' while loop' hat mich verwirrt. Ich dachte, es gibt zwei Schleifen. – Braj

+0

kann man nicht sagen 'if (true) {break;}'. – Braj

Antwort

27

if ist keine Schleife. Rufen Sie einfach break; an.

konstruiertes Beispiel:

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

Wenn Sie tatsächlich verschachtelte Schleifen verwenden, würden Sie in der Lage to use labels sein.

+0

@ Codelearn14 Sie sagen das immer, aber egal wie oft Sie es sagen, es wird immer noch falsch sein. –

+0

@ Codelearn14 Kannst du ein Codebeispiel schreiben, das beweist, was du sagst? Eventuell ist die Bedingung von "if" niemals erfüllt, was verhindert, dass "break" aufgerufen wird. – Pshemo

+0

Ja, ich denke auch dasselbe. Mein schlechtes tut mir leid und danke für die Hilfe – Coder2017

2

Ein "wenn" ist keine Schleife. Benutze einfach den Break innerhalb des "if" und es wird aus dem "while" ausbrechen.

Wenn Sie jemals echte verschachtelte Schleifen verwenden müssen, hat Java das Konzept einer beschrifteten Unterbrechung. Sie können eine Beschriftung vor einer Schleife platzieren und dann den Namen der Beschriftung verwenden, um das Argument zu brechen. Es bricht außerhalb der markierten Schleife.

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

Verwenden Sie einfach die Anweisung break;

Für zB: dieses gerade druckt "Breaking ..."

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

@rahul Bitte beantworten Sie – Braj

Verwandte Themen