Avatar ·

Scanner omite nextLine() después de nextInt() o nextDouble(): ¿cómo solucionarlo?

¡Hola a todos! Soy nuevo en Java y me encontré con un problema muy extraño al trabajar con Scanner. Estoy escribiendo un programa simple para ingresar datos del usuario: primero un número (edad), luego una cadena (nombre). Aquí está mi código: ```java import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Ingrese edad: "); int age = scanner.nextInt(); System.out.print("Ingrese nombre: "); String name = scanner.nextLine(); System.out.println("Edad: " + age + ", Nombre: " + name); } } ``` Cuando lo ejecuto, después de ingresar la edad, el programa inmediatamente muestra "Ingrese nombre: " e imprime el resultado, sin permitir ingresar el nombre. Es decir, la variable name resulta vacía o contiene un salto de línea. Intenté cambiar el orden — primero nextLine(), luego nextInt() — y entonces funciona. Pero necesito exactamente primero el número, luego la cadena. ¿Cuál es el problema? ¿Por qué Scanner omite nextLine()?