Ich versuche, den Benutzer nach zwei Zahlen zu fragen. Ich möchte überprüfen, ob diese Eingaben tatsächlich Zahlen sind, aber der Code, den ich bisher habe, lässt mich keinen zweiten Wert eingeben, wenn die erste Eingabe eine Zeichenkette ist.Scanner liest nicht Eingabe in else Anweisung
So liest der Scanner nichts die else-Anweisung.
Wie könnte ich es funktionieren lassen?
import java.util.Scanner;
public class calculations {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.print("Please enter your first name: ");
String fname = console.nextLine();
System.out.print("Please enter your last name: ");
String lname = console.nextLine();
System.out.print("Please enter your first number: ");
if (console.hasNextInt()) {
int number1 = console.nextInt();
System.out.print("Please enter your second number: ");
if (console.hasNextInt()) {
int number2 = console.nextInt();
}
} else
System.out.print("Please enter your second number: ");
if (console.hasNextInt()) {
int number2 = console.nextInt();
// this part does not work
}
}
}
Ihr 'else' Block enthält nur eine Druckanweisung. –
Zu dem vorherigen Kommentar hinzufügen, sollte 'else' Bedingung in einem' {} 'Block helfen. – Eugene
Ich habe das schon probiert. Leider hilft es nicht. Irgendwelche anderen Ideen? – kiaora