ejercicios - Rompiendo un bucle for en Java
ejercicios do while java netbeans (5)
Puedes usar:
for (int x = 0; x < 10; x++) {
if (x == 5) { // If x is 5, then break it.
break;
}
}
En mi código, tengo un ciclo for que itera a través de un método de código hasta que cumple con la condición de.
¿Hay alguna forma de salir de este ciclo?
Entonces, si miramos el código a continuación, ¿qué pasaría si queremos salir de este ciclo forzoso cuando lleguemos a "15"?
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
He intentado lo siguiente en vano:
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;
}
}
}
}
}
Y he intentado un bucle:
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;
}
}
}
}
La única forma en que puedo lograr lo que quiero es salir de un bucle for, no puedo sustituirlo por un tiempo, hacer, si es una declaración.
Editar:
Esto fue proporcionado solo como un ejemplo, este no es el código en el que estoy tratando de implementarlo. Ahora he resuelto el problema colocando múltiples declaraciones IF después de donde cada ciclo se inicia. Antes, saldría de una parte del ciclo debido a la falta de interrupciones;
Si por alguna razón no desea utilizar la instrucción break (si cree que interrumpirá su flujo de lectura la próxima vez que lea su programa, por ejemplo), puede intentar lo siguiente:
boolean test = true;
for (int i = 0; i < 1220 && test; i++) {
System.out.println(i);
if (i == 20) {
test = false;
}
}
El segundo arg de un bucle for es una prueba booleana. Si el resultado de la prueba es verdadero, el ciclo se detendrá. Puede usar algo más que una simple prueba de matemáticas si lo desea. De lo contrario, un simple descanso también hará el truco, como otros dijeron:
for (int i = 0; i < 1220 ; i++) {
System.out.println(i);
if (i == 20) {
break;
}
}
qué tal si
for(int k=0;k<10;k=k+2)
{
if(k==2)
{
break;
}
System.out.println(k);
}
de la otra manera es etiquetado loop
myloop: for (int i=0; i < 5; i++) {
for (int j=0; j < 5; j++) {
if (i * j > 6) {
System.out.println("Breaking");
break myloop;
}
System.out.println(i + " " + j);
}
}
para una mejor explicación, puedes consultar here
break;
es lo que necesita para salir de cualquier instrucción de bucle como for
, while
o do-while
.
En tu caso, va a ser así: -
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");
}
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");
}
}
}