Ich hätte 2 Fragen

v1c0

Mitglied
  1. 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?
 
Y

yfons123

Gast
1. der scanner hat methoden .. a la "nextInt" was dir einen Int einliest, du kannst aber alles über strings und casten erledigen
2. eine ungültige Eingabe wird eine exception im scanner auslösen weil es fehlerhaft ist, bzw weil es in den methoden des scanners so festglegt wurde
 

Jw456

Top Contributor
Auch wenn du alles was von der Tastatur kommt als String entgegen nimmst. Soltest du prüfen prüfen ob es einem int entspricht. Also zb keine Buchstaben enthalten sind im String.

Denn wenn das so ist wirst du beim
Parsen des String zu int eine Exception bekommen.

Mit nextInt wir gleich an Ort und Stelle geparst. Deshalb musst du sicher sein das es ein int entspricht das kannst du mit hasNextInt machen.

Ja die könntest du wider mit try & catch behandeln solltest du auch in disem Fall.

Deshalb habe ich dir auch den link mit einem Beispiel gegen wo schon im vorfeld geprüft wird, ob die Tastatur Eingabe einem int entspricht. Damit keine Exception geworfen wird.
 
Zuletzt bearbeitet:

Jw456

Top Contributor
Um es etwas Klarer zumachen. Nehmen wir an das was in den Strings str1 u.2 ist kommt von der Tastatur wurde mit dem Scanner mit NextLine() eingelesen.

Bei welchen String wird es beim parsen zu Int einen Fehler geben?
Wo wird sich dein Programm aufhängen?
Was kannst du gegen das aufhängen tun ?



Java:
String str1 = "123";
String str2 = "1B3";
String str3 = "21474836476";
       
int number1 = Integer.parseInt(str1);
int number2 = Integer.parseInt(str2);
int number3 = Integer.parseInt(str3);
 

KonradN

Super-Moderator
Mitarbeiter
  1. 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.
 

Jw456

Top Contributor
2. Warum muss eine ungu ̈ltige Eingabe aus dem Input-Stream des Scanners entfernt werden?

Die Has Methoden fragen nur den Inhalt des Tastatur Buffers ab , löschen ihn aber nicht.
Bei der nächsten Eingabe vom User würde immer noch das alte Token im Buffer stehen.

zB. Eingabe vom User ( 1B <Enter> 123 <Enter> ) wenn du jetzt nextInt() machst wirst du „1B“ aus dem Buffer bekommen (Fehler) da du das vorherige Token nicht aus den Buffer abgeholt hast .
zB. mit nextLine().

 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Fragen zu Testabdeckungs-Metriken Allgemeine Java-Themen 4
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
K BlueJ - Fragen zu dem Spiel Pacman (Nachprogrammieren) Allgemeine Java-Themen 141
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
H Fragen zur Kraken Api Allgemeine Java-Themen 1
nonickatall Klassen Grundsätzliche Fragen zu geplanter Programmstruktur Allgemeine Java-Themen 5
W Ein paar Fragen zu .properties und .css Allgemeine Java-Themen 6
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
X Fragen zur Javamail API und Gmail Allgemeine Java-Themen 4
T Fragen bezgl. Lambdas Allgemeine Java-Themen 20
X Collections Fragen zu gleichen Elementen in TreeSet Allgemeine Java-Themen 35
A Neuerungen in Java 8 StreamAPI- Paar fragen Allgemeine Java-Themen 4
temi Fragen zur Software-Architektur Allgemeine Java-Themen 123
M Diverse Design-Fragen Allgemeine Java-Themen 6
J 2 Fragen zur Vererbung Allgemeine Java-Themen 5
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
M Fragen beantworten über Textfeldeingabe Allgemeine Java-Themen 5
D Grundsätzliche Fragen zum Heap Space Allgemeine Java-Themen 12
J Allgemeine Fragen zu Vererbung Allgemeine Java-Themen 1
M Allgemeine Fragen meinerseits Allgemeine Java-Themen 4
V Wie kann ich die Fragen mit den anderen Klassen verbinden? Allgemeine Java-Themen 1
J Fragen zu generischer doppelt verketteter Liste (bei fehlendem Grundverständnis) Allgemeine Java-Themen 1
R Es gibt keine dummen Fragen (hab ich mal gehört) Allgemeine Java-Themen 11
T Fragen zum Thread-Thema Allgemeine Java-Themen 4
2 2 Klein Fragen Allgemeine Java-Themen 7
alderwaran .jar Code Signing, User-Keystore und Fragen dazu Allgemeine Java-Themen 0
T Fragen zum Thread-Thema Allgemeine Java-Themen 9
A Java Theorie-Fragen Allgemeine Java-Themen 7
K Java QUIZ-Spiel Fragen und Antworten generieren?! Allgemeine Java-Themen 5
R Socket Fragen zu UDP Allgemeine Java-Themen 1
B Noob-Fragen zu Tablets und PC kompatiblität... Allgemeine Java-Themen 6
D Ein paar allgemeine Fragen zu Java Allgemeine Java-Themen 19
L Fragen für Facharbeit: Analyse von Strings in Java Allgemeine Java-Themen 4
R Fragen zu Server + UI Allgemeine Java-Themen 2
U Vier Fragen zu Java Allgemeine Java-Themen 2
H MediaManager Fragen/Probleme Allgemeine Java-Themen 6
D Fragen zum erstellen einer ausführbaren Jar Datei Allgemeine Java-Themen 3
C Polymorphie Fragen zur Annotations von Persistenz Allgemeine Java-Themen 2
O Fragen über Fragen - Bei Änderung XML-Datei -> Anpassung GUI Allgemeine Java-Themen 7
StrikeTom Java Performance Fragen Allgemeine Java-Themen 5
Luk10 Fragen zum ByteBuffer (lwjgl - icons) Allgemeine Java-Themen 2
F Akkumulator Hough-Transformation offene Fragen Allgemeine Java-Themen 4
Luk10 Fragen zu Naming-Conventions Allgemeine Java-Themen 5
Z Einige Fragen Allgemeine Java-Themen 10
T OOP Einige Fragen zu UML-Klassendiagrammen Allgemeine Java-Themen 6
G Einige Fragen zu ResourceBundles Allgemeine Java-Themen 2
S Fragen zu verschiedenen Themen vom JCreator Allgemeine Java-Themen 2
DStrohma Grundsätzliche Fragen zum Aufbau eines komplexeren Programmes Allgemeine Java-Themen 8
Semox Grapheneditor - Allgemeine Fragen zum Logikdesign Allgemeine Java-Themen 3
O kleine Fragen eines Anfängers Allgemeine Java-Themen 2
X Executor fragen ob fertig Allgemeine Java-Themen 13
nrg Swing 2 Fragen zu Swing/AWT Allgemeine Java-Themen 7
K Reflections Fragen Allgemeine Java-Themen 7
S Fragen zum SCJD-Zertifikat Allgemeine Java-Themen 2
M Backend Entwicklung - Konzept fragen Allgemeine Java-Themen 3
E Fragen zu Scala Allgemeine Java-Themen 11
Daniel_L Fragen zu RegEx und URL umwandeln Allgemeine Java-Themen 4
J Diverse Fragen bezüglich Jasper Allgemeine Java-Themen 3
S Fragen zum ShutdownHook Allgemeine Java-Themen 7
V Fragen zu einem Java Browser Allgemeine Java-Themen 7
G Fragen zum eigenen Scheduler Allgemeine Java-Themen 4
M Drag and Drop: 3 Fragen Allgemeine Java-Themen 3
L Einige Fragen zu Java Allgemeine Java-Themen 9
F Linguistische Fragen zu Javadoc bzw. Englisch Allgemeine Java-Themen 4
E Einfache Fragen zu Dateien Allgemeine Java-Themen 7
E Thread Fragen in Verbindung mit Swing Allgemeine Java-Themen 4
M MVC Design Pattern - Verständniss Fragen Allgemeine Java-Themen 3
X Einige Fragen zu Serialisierung Allgemeine Java-Themen 2
H Java Multiplicoice Test (10 Fragen) Allgemeine Java-Themen 11
J Viele Fragen. =) Hoffentlich könnt ihr helfen Allgemeine Java-Themen 9
D Grundsätzliche Fragen zur Grafikdarstellung in Spielen Allgemeine Java-Themen 2
J 2 Fragen zu JMF und eine Rechtsfrage Allgemeine Java-Themen 3
S Viele Fragen eines Umsteigers (von .NET) Allgemeine Java-Themen 6
C LinkedList Fragen Allgemeine Java-Themen 7
P Fragen zur JBuilder und den kosten. Allgemeine Java-Themen 7
reibi JVM fragen welche Apps geladen sind Allgemeine Java-Themen 7
I Fragen zum Internetseiten Einlesen/Auswerten Allgemeine Java-Themen 5
F Paket und Software Design Fragen. Allgemeine Java-Themen 5
S 2 Fragen allgemeine fragen zu final und interface Allgemeine Java-Themen 13
M ein paar fragen über JBoss und Catalina Allgemeine Java-Themen 7
D Allgemeine Fragen zum Speichern Allgemeine Java-Themen 3
F allgemeine Fragen zu Java Allgemeine Java-Themen 9
S Fragen zu 4 speziellen Listen Allgemeine Java-Themen 4
U JFrame, JOptionPane - vor dem Schließen Benutzer fragen Allgemeine Java-Themen 10
I zwei simple fragen Allgemeine Java-Themen 22
G 2 Fragen Allgemeine Java-Themen 7
G Fragen zu ausführbaren JAR Files Allgemeine Java-Themen 23
G Fragen zu JTextField bzw. JTextArea Allgemeine Java-Themen 2
J 5 Fragen. Allgemeine Java-Themen 2
P Tausend Fragen... Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben