Heim > Java > javaLernprogramm > Warum löst mein Java-Scanner nach einer korrekten Doppeleingabe eine InputMismatchException aus?

Warum löst mein Java-Scanner nach einer korrekten Doppeleingabe eine InputMismatchException aus?

Patricia Arquette
Freigeben: 2024-12-09 14:02:12
Original
1029 Leute haben es durchsucht

Why Does My Java Scanner Throw an InputMismatchException After Correct Double Input?

Scanner-Doppelwert – InputMismatchException

Frage:
Wenn Scanner zum Lesen eines Doppelwerts in Java verwendet wird , warum wird eine InputMismatchException ausgelöst, nachdem die richtige Eingabe erfolgt ist? bereitgestellt?

Ursache:
Die Ausnahme tritt auf, wenn die Eingabe nicht mit dem erwarteten Datentyp übereinstimmt, normalerweise aufgrund einer Nichtübereinstimmung des Gebietsschemas.

Lösung :
Um das Problem zu beheben, geben Sie beim Erstellen des Scanners das Gebietsschema an Objekt:

Scanner scanner = new Scanner(System.in).useLocale(Locale.US);
Nach dem Login kopieren

Erklärung:
Jedes Gebietsschema hat seinen eigenen Satz von Dezimal- und Tausendertrennzeichen. Im US-Gebietsschema ist das Dezimaltrennzeichen beispielsweise ein Punkt ('.'), während es in vielen europäischen Gebietsschemata ein Komma (,) ist.

Beim Erstellen des Scannerobjekts ohne Angabe eines Gebietsschemas verwendet Java das Standardsystemgebietsschema. Wenn das Standardgebietsschema ein Komma als Dezimaltrennzeichen verwendet und die Eingabe mit einem Punkt eingegeben wird, versucht der Scanner, die Eingabe als Ganzzahl zu lesen, was zu einer InputMismatchException führt.

Durch die Angabe des US-Gebietsschemas stellen wir sicher dass der Scanner einen Punkt als Dezimaltrennzeichen erwartet und die Eingabe korrekt als Double-Wert liest.

Das obige ist der detaillierte Inhalt vonWarum löst mein Java-Scanner nach einer korrekten Doppeleingabe eine InputMismatchException aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage