In mijn code heb ik een for-lus die een codemethode doorloopt totdat deze voldoet aan de for-voorwaarde.
Is er een manier om uit deze for-loop te breken?
Dus als we naar de onderstaande code kijken, wat als we deze for-lus willen doorbreken als we bij “15” komen?
public class Test {
public static void main(String args[]) {
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}
Outputs:
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
Ik heb het volgende geprobeerd zonder resultaat:
public class Test {
public static void main(String args[]) {
boolean breakLoop = false;
while (!breakLoop) {
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
if (x = 15) {
breakLoop = true;
}
}
}
}
}
En ik heb een lus geprobeerd:
public class Test {
public static void main(String args[]) {
breakLoop:
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
if (x = 15) {
break breakLoop;
}
}
}
}
De enige manier waarop ik kan bereiken wat ik wil, is door een for-lus te doorbreken, ik kan het een tijdje niet vervangen, do, if etc-statement.
Bewerken:
Dit is alleen aanwezig als een voorbeeld, dit is niet de code die ik probeer het te laten implementeren. Ik heb het probleem nu opgelost door meerdere IF-verklaringen te plaatsen na waaruit elke lus initiliseert. Voordat het zou springen op het ene deel van de lus vanwege een gebrek aan pauzes;
1, Autoriteit 100%
break;
is wat u nodig hebt om uit te breken met een loopafschrift zoals for
, while
of do-while
.
In uw geval, het zal zo zijn: –
for(int x = 10; x < 20; x++) {
// The below condition can be present before or after your sysouts, depending on your needs.
if(x == 15){
break; // A unlabeled break is enough. You don't need a labeled break here.
}
System.out.print("value of x : " + x );
System.out.print("\n");
}
2, Autoriteit 12%
Als u om een of andere reden de onderbrekingsinstructie niet wilt gebruiken (als u denkt dat het uw leesstroom zal verstoren de volgende keer dat u uw programma bijvoorbeeld wilt lezen), kunt u het volgende proberen:
boolean test = true;
for (int i = 0; i < 1220 && test; i++) {
System.out.println(i);
if (i == 20) {
test = false;
}
}
Het tweede args van een voor lus is een Booleaanse test. Als het resultaat van de test waar is, stopt de lus. U kunt meer dan alleen een eenvoudige wiskundetest gebruiken als u wilt.
Anders zal een eenvoudige pauze ook de truc doen, zoals anderen zeiden:
for (int i = 0; i < 1220 ; i++) {
System.out.println(i);
if (i == 20) {
break;
}
}
3, Autoriteit 10%
U kunt gebruiken:
for (int x = 0; x < 10; x++) {
if (x == 5) { // If x is 5, then break it.
break;
}
}
Antwoord 4, autoriteit 2%
public class Test {
public static void main(String args[]) {
for(int x = 10; x < 20; x = x+1) {
if(x==15)
break;
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}