Imprimir no sucede cuando se llama desde una declaración de decisión dentro de un método (en Java)

StackOverflow https://stackoverflow.com/questions/5309618

  •  24-10-2019
  •  | 
  •  

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!

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top