Für meine Bewertung
Wenn "0 bis 2 eingeben" angezeigt wird, wird "0 bis 2 eingeben" angezeigt. Wenn "Zeichenkette eingeben" angezeigt wird, wird "Kein ganzzahliger Wert" angezeigt.
Weil ich den Scanner hasNext verwenden könnte, anstatt try-catch zu verwenden Nehmen Sie auf, dass es so etwas gibt.
hello.java
void getJudgeHand() {
while (true) {
System.out.println("Befehl? 0:Goo 1:Par 2:Choki");
if (scanner.hasNextInt()) {
myHand = scanner.nextInt();
if (myHand >= 0 && myHand <= 2) break;
}
else {
scanner.next();
System.out.println("Kein ganzzahliger Wert");
}
System.out.println("Bitte geben Sie von 0 bis 2 ein");
}
}
Try-Catch-Methode
hello.java
void getJudgeHand() {
while (true) {
try {
System.out.println("Befehl? 0:Goo 1:Par 2:Choki");
this.myHand = scanner.nextInt();
if (this.myHand <= 2 && this.myHand >= 0) { //Brechen Sie, wenn 2 oder weniger und 0 oder mehr
break;
}
} catch (InputMismatchException e) {
System.out.println("Kein ganzzahliger Wert");
scanner.next(); //Verwerfen Sie die Eingabe
}
System.out.println("Bitte geben Sie von 0 bis 2 ein");
}
}
Recommended Posts