Buenos dias, recien estoy aprendiendo programación orientada a objetos y estoy con un manual de Java.
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:
package 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);
Ahora paso a pedir datos en la pantalla y espero la respuesta
Código:
System.out.println("Quiere ingresar algo?");
resp = input.nextLine();
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.
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:
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();
}
}
El programa se ejecuta pero solo pide el dato una vez y muestra el valor
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