Estoy tratando de entender a medida que leo y practico los ejemplos del texto y me encontre con algo que en "teoria" esta bien (al menos esta igual que en el ejemplo) pero que no parece funcionar como debería-
Cabecera y definiciones
Código:
Ahora paso a pedir datos en la pantalla y espero la respuestapackage calcu; import java.util.*; public class Calcu { public static void main(String[] args) { int max = Integer.MIN_VALUE; int dato; boolean hubo =false; String resp; Scanner input = new Scanner(System.in);
Código:
Evaluo si la respuesta es "S", mientras resp sea igual a S entonces ejecuto el bucle, el cual pide un dato numerico, compara si dato > max y lo asigna a la variable dato.System.out.println("Quiere ingresar algo?"); resp = input.nextLine();
Luego pregunta "maas datos?" y deberia leer nuevamente la siguiente entrada del usuario para volver a evaluar si resp es igual a S para volver a ejecutar el bucle o en caso contrario mostrar el valor.
Código:
El programa se ejecuta pero solo pide el dato una vez y muestra el valor while (resp.equals("S")){ hubo = true; System.out.println("Ingrese un dato"); dato = input.nextInt(); if (dato > max) { max = dato; } System.out.println("mas datos?"); resp = input.nextLine(); } if (hubo) { System.out.println("Maximo vale" + max); } else { System.out.println("No hubo datos"); } input.close(); } }
Cita:
run:
Quiere ingresar algo?
S
Ingrese un dato
5
mas datos?
Maximo vale5
BUILD SUCCESSFUL (total time: 5 seconds)
Seguramente es una tontería pero le estoy dando vueltas hace un rato, soy muy novato en programacion y es la primera vez que me pongo a aprender Java run:
Quiere ingresar algo?
S
Ingrese un dato
5
mas datos?
Maximo vale5
BUILD SUCCESSFUL (total time: 5 seconds)