Scanner überspringt nextLine() nach nextInt() oder nextDouble(): Wie beheben?
Hallo zusammen! Ich bin neu in Java und habe ein sehr seltsames Problem bei der Arbeit mit dem Scanner. Ich schreibe ein einfaches Programm zur Benutzereingabe: zuerst eine Zahl (Alter), dann eine Zeichenkette (Name). Hier ist mein Code:
```java
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Geben Sie das Alter ein: ");
int age = scanner.nextInt();
System.out.print("Geben Sie den Namen ein: ");
String name = scanner.nextLine();
System.out.println("Alter: " + age + ", Name: " + name);
}
}
```
Wenn ich es ausführe, gibt das Programm nach der Eingabe des Alters sofort "Geben Sie den Namen ein:" aus und druckt das Ergebnis, ohne dass ich den Namen eingeben kann. Das heißt, die Variable name ist leer oder enthält einen Zeilenumbruch. Ich habe versucht, die Reihenfolge zu ändern – zuerst nextLine(), dann nextInt() – dann funktioniert alles. Aber ich brauche genau zuerst die Zahl, dann die Zeichenkette. Was ist los? Warum überspringt Scanner nextLine()? Ich