Welche Benutzereingabe auf der Konsole ergibt “true”, welche “false”?

Ob eine Benutzereingabe auf der Konsole true oder false ergibt, hängt von der Verarbeitung der Eingabe ab.

  • Die in der Lehrveranstaltung verwendete Klasse In besitzt die Methode readBoolean(). Diese Methode liefert den Wert true, wenn auf der Konsole die Zeichenfolge „true“ eingegeben wird. Jede andere eingegebene Zeichenfolge liefert den Wert false.
    Mit der Methode done() kann überprüft werden, ob die Eingabe gültig war. Gültige Eingaben sind die Zeichenketten „true“ und „false“.
boolean b = In.readBoolean();
if (In.done()) {
    System.out.println(b);
} else {
    System.out.println("Ungültige Eingabe");
}
  • Die Klasse Scanner bietet mit der Methode nextBoolean() die Möglichkeit, einen Wahrheitswert von der Konsole einzulesen. Diese Methode ignoriert die Groß- / Kleinschreibung. Leerzeichen oder Tabulatoren am Anfang oder am Ende der Eingabe werden entfernt. Wenn die Zeichenfolge “true” auf die Konsole eingegeben wird, wird true zurückgegeben. Wenn die Zeichenfolge “false” auf die Konsole eingegeben wird, wird false zurückgegeben. Jede andere Zeichenfolge löst eine InputMismatchException aus.
Scanner sc = new Scanner(System.in);
boolean b = sc.nextBoolean();
System.out.println(b);
  • Die Methode parseBoolean() der Java-Klasse Boolean ermöglicht es, einen String in einen boolean umzuwandeln. Auch hier spielt hier die Groß- / Kleinschreibung keine Rolle. Wie in der oben beschriebenen Methode liefert die Zeichenfolge “true” true. Jede andere Zeichenfolge liefert den Wert false zurück. (Auch der leere String oder null …)
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
boolean b = Boolean.parseBoolean(s);
System.out.println(b);