Cita:
Iniciado por freddy31DA
No estas validando todavía nada.
Bueno al inicio si yo oprimo enter al pedirme el nombre pasa... Cuando llego a si quiero verificar otro tambien se pasa.
Esto ocurre debido a un mal tratamiento del buffer. Al inicio al registrar el nombre automáticamente luego del enter se lanza un carácter ‘\n’ o ‘enter’ en el buffer, por lo tanto, cuando se quiere leer una cadena con el método ‘nextLine()’, esta función inicia la lectura del buffer ¡y lo primero que se encuentra es justamente el carácter de final de cadena! ( ‘\n’ ),
Al inicio esta solución te pedira el nombre luego tienes presionar enter pero luego del S/N ya no:
Código Java:
Ver originalSystem.
out.
println("Escriba el nombre del empleado: "); nombre = sc.nextLine();
sc.nextLine(); //Agregad esto
Por eso tienes que validar cada entrada...
Muchas gracias ya no se está brincando la primera al reiniciar el ciclo do while. ¿Es siempre necesario validar el .nextLine()?, te lo comento porque haciendo pruebas con .next() y .nextInt() no me ocurrió eso. Saludos.