Java - Überprüfung, ob eine Eingabe mit Integer getätigt wurde?

3 Antworten

Der Thread blockiert bis eine Eingabe getätigt wurde.

Wenn du prüfen willst, ob eine gültige Zahl eingegeben wurde, das mache ich immer, indem ich einen String lese und ihn dann in einem try-Block konvertiere.

Exceptions sind das was du brauchst. Aus der Dokumentation erfährst du das es zu einer InputMismatchException kommt wenn kein Integer eingegeben wird. Den kannst du abfangen und entsprechend behandeln.

Es hätte gereicht, wenn du dir die Dokumentation zur Scanner-Klasse einmal genauer angeschaut hättest: https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/util/Scanner.html

In dieser wird unter anderem die hasNextInt-Methode aufgelistet, die du zur Prüfung vor dem Einlesen nutzen kannst:

if (scanner.hasNextInt()) {
  int test = scanner.nextInt();
  // ...
}
else {
  // ...
}