En el siguiente código, estoy tratando de pedirle a un usuario que ingrese un número y, si es menor que 1, solicite otro número positivo.
Parece estar funcionando hasta que se ingresa el número positivo, pero el programa imprimirá un mensaje de error final después de que se proporcione el número positivo.
¿Cómo evito que se imprima este mensaje de error después de ingresar el número positivo?
System.out.println("Enter number"); int x = 0; while (x < 1) { x = input.nextInt(); System.out.println("ERROR - number must be positive! Enter another"); }Puede agregar una declaración de break , que sale de un bucle, así:
while (x < 1) { x = input.nextInt(); if (x >= 1) { System.out.println("Mmm, delicious positive numbers"); break; } System.out.println("ERROR - number must be positive! Enter another"); }O alternativamente:
while (x < 1) { x = input.nextInt(); if (x < 1) { System.out.println("ERROR - number must be positive! Enter another"); } else { System.out.println("Congratulations, you can read directions!"); } }Lea el número inicial incondicionalmente antes del bucle. Luego, dentro del ciclo, mueva la impresión sobre la llamada nextInt() .
System.out.println("Enter number"); int x = input.nextInt(); while (x < 1) { System.out.println("ERROR - number must be positive! Enter another"); x = input.nextInt(); }