Java - se salta una linea al pedir datos de Scanner
Java no lee linea de Scanner
Seguro que a muchos de vosotros os ha pasado alguna vez que a la hora de querer introducir valores mediante el teclado, java se salta la linea pasando a la siguiente.
¿Porque ocurre este problema?
Como bien sabemos si queremos pedir usando la clase Scanner un valor por teclado
utilizaremos :
- en caso de ser entero nextInt();
- en caso de ser String nextLine();
Lo que no sabemos es que esta función realiza un salto de linea posterior a la hora de introducir los datos, entonces cuando queremos pedir un valor entero y posteriormente cualquier otro valor lo que sucederá es que cogerá ese salto de linea, veamos este ejemplo.
int numero = scanner.nextInt();
String texto = scanner.nextLine();
Usuario insertará un número, posteriormente a que inserte ese numero java hará un salto de linea, pero nos encontramos con la variable texto que esta pidiendo otro tipo de datos insertados por consola.
¿Solución?
Lo que debemos de hacer es insertar un scanner.next(); después de nuestra variable númerica (siempre que esa variable pida datos por consola y posteriormente venga un nextLine).
ejemplo :
espero que os haya servido de ayuda, también comentar que este es mi primer post e iré subiendo a este blog errores que me hayan ido saliendo a lo largo de mi aprendizaje.
Comentarios
Publicar un comentario