Wie man boolean Benutzer-Eingabe mit scanner aus?
Also ich habe um den Benutzer zu Fragen, ob Sie sind über 18 und Sie haben die Antwort mit true oder false. Und halten looping, bis Sie geben Sie den richtigen Eingang
So weit, ich habe diese
boolean b = false;
do {
try {
System.out.print("Are you above 18?");
Scanner n = new Scanner(System.in);
boolean bn = s.nextBoolean();
if (bn == true) {
//do stuff
} else if (bn == false) {
//do stuff
}
} catch (InputMismatchException e) {
System.out.println("Invalid input!");
}
} while (!b);
JEDOCH, es wird nicht funktionieren, da die Schleife immer weiter, und es wird nicht Lesen Sie den Eingang rechts, und mein if-Anweisungen. Wie kann ich dieses Problem beheben? Danke!
- Ich gehe mit
y/n
option in diesem Fall. bn == true
redundant ist.bn
wertet einen booleschen Wert.- Sind Sie Einstellung Ihre
b
variabletrue
im inneren eine Ihrer Bedingungen? Ihre Schleife wird nicht aufhören, bisb
isttrue
und es ist nicht Referenz, die irgendwo in der Schleife. Meinst du zu tun, während(!bn)
?. - Nur aus dem Thema, tauschen Sie Ihre
if(bn == true)
mitif(bn)
. - Was Eingabewerte haben Sie versucht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
leichte zwicken an Ihrem Programm. Dies funktioniert
Und der Ausgang ist
Müssen Sie re-überprüfen Sie Ihre Scanner-Anweisung und Initialisierung-Anweisung...
Sollte es sein
Versuchen
zu
Verwenden-