Int Scanner auf Enter Eingabe prüfen

Ostkreuz

Aktives Mitglied
Hallo kann man irgendwie prüfen ob jemand anstatt einer Zahl Enter eingibt?
Java:
zeile = new Scanner(System.in).nextInt();
 
Was willst du erreichen? Du kannst prüfen, ob ein int eingegeben wurde: hasNextInt()

Generell wird die Eingabe erst nach Eingabe von enter verfügbar gemacht.

Wenn hasNextInt false ergibt, dann liegt eine Eingabe vor, die du mit next oder nextLine auslesen kannst.
 
Was willst du erreichen? Du kannst prüfen, ob ein int eingegeben wurde: hasNextInt()

Generell wird die Eingabe erst nach Eingabe von enter verfügbar gemacht.

Wenn hasNextInt false ergibt, dann liegt eine Eingabe vor, die du mit next oder nextLine auslesen kannst.
Aufgabe: Wenn Sie anstatt einer Zieleingabe ENTER drücken, kehren Sie zum Hauptmenü zurück. Jetzt können Sie entscheiden, ob Sie das Spiel speichern, fortsetzen etc. wollen
Bei der Stringeingabe war das ja durch eine equals Methode zu überprüfen, aber bei einer int eingabe geht das nicht
 
Zuletzt bearbeitet:
Also die Leere Eingabe funktioniert nur mit einer Abfrage von nextLine(). Hier musst Du Zeilenorientiert arbeiten.

Tokenbasierte Eingabe funktioniert nur mit erkennbaren EIngaben. Die sogenannten Whitespace (Leezeichen, Tab, Return, ...) sind nur Trennzeichen und bei der Tokenbasierten Eingabe werden diese überlesen. Dazu kannst Du einfach einmal folgenden Code testen:
Java:
        if (scanner.hasNextInt()) {
            System.out.println("Eingegebene Zahl: " + scanner.nextInt());
        } else {
            System.out.println("Keine Zahl eingegeben!");
        }

Du kannst so viele Leerzeichen, Tabs und Return drücken wie Du willst: hasNextInt() wird weiter auf eine Eingabe warten.

Was du brauchst, ist die Eingabe einer Zeile mit nextLine(). Da bekommst Du ein String zurück und den kannst Du dann:
  • Prüfen: ist er leer?
  • Schauen, ob Du ihn zu einem int parsen kannst (Integer.parseInt Methode)
  • ggf. sonst noch irgendwie auswerten.
 

Neue Themen


Zurück
Oben