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()?