Limpiar Scanner cada iteración
Publicado por Andrew (9 intervenciones) el 23/10/2013 16:20:28
Buenas, tengo una aplicación en Java que pide interacción contínua con el usuario (por pantalla).
Se trata de un simple:
Scanner variable = new Scanner(System.in);
String usuario;
....
usuario = variable.next();
-------------------------
La cosa es que le pregunto cosas muchas veces, y bueno, si no haces cosas raras, todo va bien, pero, si metes muchas cosas seguidas, al estilo:
"texto1->intro->texto2->intro->texto3->intro" (todo esto muy rápido, de seguido)
pues lo que pasa es que pilla el texto1 para la primera entrada de teclado, y a la siguiente vuelta, pilla automáticamente texto2. Yo lo que quiero es que si haces el tonto, como en el ejemplo anterior, pase de ti. O sea, que pille el texto1, y que cuando vuelva la siguiente "usuario = variable.next()", el Scanner se haya "limpiado", o sea, que no haya rastro de texto2 ni texto3.
La verdad, ando bastante perdido en esto... y aunque no sea importante para que el programa funcione (ya que las respuestas erróneas están contempladas), pues molaría cambiarlo, porque queda más "bonito".
¡Muchas gracias!
Se trata de un simple:
Scanner variable = new Scanner(System.in);
String usuario;
....
usuario = variable.next();
-------------------------
La cosa es que le pregunto cosas muchas veces, y bueno, si no haces cosas raras, todo va bien, pero, si metes muchas cosas seguidas, al estilo:
"texto1->intro->texto2->intro->texto3->intro" (todo esto muy rápido, de seguido)
pues lo que pasa es que pilla el texto1 para la primera entrada de teclado, y a la siguiente vuelta, pilla automáticamente texto2. Yo lo que quiero es que si haces el tonto, como en el ejemplo anterior, pase de ti. O sea, que pille el texto1, y que cuando vuelva la siguiente "usuario = variable.next()", el Scanner se haya "limpiado", o sea, que no haya rastro de texto2 ni texto3.
La verdad, ando bastante perdido en esto... y aunque no sea importante para que el programa funcione (ya que las respuestas erróneas están contempladas), pues molaría cambiarlo, porque queda más "bonito".
¡Muchas gracias!
Valora esta pregunta
0