Foros del Web » Programación para mayores de 30 ;) » Java »

Problemilla clase Scanner

Estas en el tema de Problemilla clase Scanner en el foro de Java en Foros del Web. Estoy haciendo pruebas con esta clase y tengo un problemilla al que no le he encontrado solución. Pretendo mostrar una cadena de texto por palabras. ...
  #1 (permalink)  
Antiguo 15/10/2009, 15:29
MIRL27
Invitado
 
Mensajes: n/a
Puntos:
Problemilla clase Scanner

Estoy haciendo pruebas con esta clase y tengo un problemilla al que no le he encontrado solución.

Pretendo mostrar una cadena de texto por palabras. El código es este:

Código:
Scanner sc = new Scanner(System.in);
sc = sc.useDelimiter(" ");

System.out.println("Introduzca una frase: ");

for (int i=0; sc.hasNext(); i++)
	System.out.println(sc.next());

sc.close();
El caso es que imprime todas las palabras excepto la última, en la que se queda en bucle infinito al llegar al next y, aparentemente, el código es correcto.

He investigado y casi todos los ejemplos salen con bucles while y do-while, pero me sigue pasando lo mismo, sin embargo, si pongo una cadena directamente en lugar de leerla de teclado sí que lo hace bien, lo cual me parece bastante raro y "debugeando" no me sale ningún caracter después de los que introduzco :S

Edit: Amplío esto un poco... He probado introduciendo la expresión "\s" en el delimitador (sc.useDelimiter("\\s")) y me imprime todas las palabras pero se sigue quedando en bucle porque sc.hasNext() devuelve siempre cierto, aunque no queda ningún otro elemento.
Sigo esperando ayuda si alguien sabe por qué sucede esto :S

Un saludo y gracias por la ayuda

Última edición por MIRL27; 16/10/2009 a las 06:40 Razón: ampliación
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:09.