introducir datos usuario

MC
16 de Septiembre del 2005
Hola.

Si quiero que el usuario introduzca dos numeros seguidos, ¿como puedo hacerlo? Lo digo porque al segundo system.in.read() me manda al carajo....


System.out.print("¿Qué operación desea hacer?:");
operacion=System.in.read();

System.out.print("¿Cuánto dinero quiere ingresar?:");
op=System.in.read();

Alberto
16 de Septiembre del 2005
¿Por qué no usas JSP´s y servlets?

chuidiang
16 de Septiembre del 2005
Hola:

System.in.read() lee solo un byte del teclado y lo devuelve como entero.
Si en la primera pregunta escribes 1 y pulsas retorno de carro, el resultado es

operacion = 49 (es el codigo ascii del 1)
queda sin leer el valor del retorno de carro, que en windows son dos bytes.

Cuando haces el segundo System.in.read(), no te da opcion a escribir nada, porque tiene uno de los bytes del retorno de carro sin leer. Ese es el que lee y devuelve inmediatamente un 13 (codigo ascii del retorno de carro).

Para leer correctamente, echa un ojo en http://chuidiang.blogspot.com/2005/09/entrada-standard-en-java.html

Se bueno.