- Wie ko ̈nnen eingegebene Daten (bzw. deren Datentypen) bei der Verwendung des Scanners unterschieden werden?
2. Warum muss eine ungu ̈ltige Eingabe aus dem Input-Stream des Scanners entfernt werden?
Bei 1 ist die Frage, was Du genau machen willst. Du kannst natürlich vor dem Lesen eines wertes mit einer der next* Methoden immer prüfen, ob es einen solchen Wert gibt. Also z.B.
hasNextInt um zu schauen, ob das nächste Token als int ausgewertet werden kann. Daher meine Empfehlung: Schau Dir die Dokumentation einer Klasse vor der Verwendung genau an!
Wenn die Möglichkeiten der Scanner Klasse nicht ausreichend sind, dann kannst Du Dir selbst überlegen, was Du brauchst und die Prüfungen selbst schreiben.
Bei 2 ist wichtig anzumerken: Es gibt eine Eingabe. Und nur weil dies kein int ist, bedeutet dies nicht, dass Du die Eingabe verworfen werden muss. Evtl. willst Du die illegale Eingabe ja noch weiter prüfen? Daten vom User sollten immer sorgfältig behandelt werden und das macht die Klasse Scanner an dieser Stelle auch.