Pedir frases completas con Scanner Java

Hola a todos, hoy os explicare como podemos pedir frases completas con el Scanner de Java.

Si estas pidiendo Strings con Scanner, seguramente te hayas dado cuenta que cuando pones cadenas con espacios, solo te pilla la primera palabra y el resto lo obvia. Ejemplo:

Esto se debe a que Scanner tiene por defecto un delimitador que es el espacio, digamos que entiende que cada espacio en un valor diferente.

Para cambiarle ese delimitador, usaremos el método useDelimiter de Scanner. Os muestro un ejemplo:


Scanner sn = new Scanner(System.in);

System.out.println("Dame una frase");
String frase = sn.next();

System.out.println("La frase es -> "+frase);

Como veis he puesto como delimitador \n, que básicamente significa que un salto de linea es el delimitador, por lo que aceptara espacios. Ejemplo:


Scanner sn = new Scanner(System.in);
 sn.useDelimiter("\n");
 
 System.out.println("Dame una frase");
 String frase = sn.next();
 
 System.out.println("La frase es -> "+frase);

Este es el resultado:

Otra alternativa es usar nextLine(), entonces no haría falta usar lo del delimitador, pero en mi experiencia he notado que hay veces que da fallos, por lo que no lo recomiendo, con esta forma no tendremos errores.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte

¿Te ha gustado y quieres apoyarme? ¡Sé mi patrón!
Etiquetas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *