Ich benutze die Scanner
Methoden nextInt()
und nextLine()
zum Lesen von Eingaben.
Es sieht aus wie das:
System.out.println("Enter numerical value");
int option;
option = input.nextInt(); // Read numerical value from input
System.out.println("Enter 1st string");
String string1 = input.nextLine(); // Read 1st string (this is skipped)
System.out.println("Enter 2nd string");
String string2 = input.nextLine(); // Read 2nd string (this appears right after reading numerical value)
Das Problem ist, dass nach Eingabe des numerischen Werts der erste input.nextLine()
übersprungen und der zweite input.nextLine()
ausgeführt wird, sodass meine Ausgabe folgendermaßen aussieht:
Enter numerical value
3 // This is my input
Enter 1st string // The program is supposed to stop here and wait for my input, but is skipped
Enter 2nd string // ...and this line is executed and waits for my input
Ich habe meine Anwendung getestet und es sieht so aus, als ob das Problem in der Verwendung liegt input.nextInt()
. Wenn ich es lösche, werden beide string1 = input.nextLine()
und string2 = input.nextLine()
so ausgeführt, wie ich es möchte.