Imprimir no sucede cuando se llama desde una declaración de decisión dentro de un método (en Java)
Pregunta
Me he encontrado con un problema algo molesto durante un proyecto. Creé esta clase de muestra para describir el problema que tengo.
public class Test {
public static void Testing(){
for (int i = 0; i >= 5; i++) {
System.out.println(i);
}
System.out.println("hello world.");
}
public static void main(String[] args) {
Testing();
}
}
Mi problema es que el único resultado de este programa es simplemente "hola mundo".
¿Alguien podría explicar la razón por la cual mi declaración Println dentro del bucle para For Loop está siendo completamente ignorada? He buscado en Google, pero es difícil de describir en una búsqueda.
¡Muchas gracias!
Solución
El bucle for debe ser
for (int i = 0; i <= 5; i++)
Otros consejos
Hai amigo. El problema es lógico. Vea el bucle for de cerca para (int i = 0; i> = 5; i ++)
El bucle for debe ser
para (int i = 0; i <= 5; i ++)
Creo que el problema es que el bucle nunca se ejecuta, ya que su condición es que yo tengo al menos 5, pero lo comienzas en cero. Intente cambiarlo para que sea menor o igual a cinco y vea si eso lo soluciona.
Cambiar el bucle for
for(int i = 0; i <= 5; i++)
Lea de nuevo:
for (int i = 0; i >= 5; i++)
Defojos de forma predeterminada a cero, y para los iterados mientras que I es más o igual a 5.
Porque tu condición (i >= 5
) nunca es verdadero, ya que establece i
a 0. la condición debe ser i <= 5
.
for (int i = 0; i <= 5; i++) //You have put > sign it should be < sign
{
System.out.println(i);
}
La razón es que su bucle para nunca se ejecuta. En el primer paso i = 0 i> = 5 = falso para que el cuerpo del para nunca se ejecute
Cuando el método principal invoca su método, primero inicialice el valor de I con 0, entonces su condición i> = 5, que se parece a 0> = 5 que siempre es 'falso'. Para que su declaración de impresión interna nunca se ejecute.
El bucle for nunca se ejecuta porque al principio se verifica para ver si es igual o mayor que 5 (que no es, i = 0)
for (int i = 0; i >= 5; i++)
Luego termina el bucle y se ejecuta la siguiente declaración.