Heim >Java >javaLernprogramm >Scanner-Doppelwert: InputMismatchException – Warum tritt es auf und wie kann es vermieden werden?
Scanner-Doppelwertausnahme: InputMismatchException
Problemeinführung:
Bei Verwendung der Scanner-Klasse Um doppelte Werte aus der Konsole zu lesen, kann ein Benutzer auf die InputMismatchException stoßen. Dieser Fehler tritt auf, wenn die Eingabe nicht mit dem erwarteten Datentyp übereinstimmt, in diesem Fall einem Double.
Fragen:
Antworten:
1. Warum tritt die Ausnahme auf?
Die InputMismatchException wird ausgelöst, weil das Standardgebietsschema des Scanners nicht für die Verwendung eines Punkts (.) als Dezimaltrennzeichen konfiguriert ist. Standardmäßig verwenden viele Gebietsschemas ein Komma (,) als Dezimaltrennzeichen. Es wird jedoch erwartet, dass Gleitkommazahlen in Java einen Punkt als Dezimaltrennzeichen verwenden. Wenn der Scanner versucht, einen Double-Wert aus einer Eingabe zu lesen, die ein Komma als Dezimaltrennzeichen verwendet, interpretiert er ihn als Ganzzahl, was zur InputMismatchException führt.
2. So umgehen Sie die Ausnahme:
Um die InputMismatchException zu vermeiden, können die folgenden Schritte unternommen werden:
Scanner scanner = new Scanner(System.in).useLocale(Locale.US);
Das obige ist der detaillierte Inhalt vonScanner-Doppelwert: InputMismatchException – Warum tritt es auf und wie kann es vermieden werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!