Behandeln von Fehlern und Ausnahmen bei Fließkommaeingaben
Beim Umgang mit Fließkommaeingaben (float input) mit der Scanner
-Klasse ist es wichtig, potenzielle Fehler und Ausnahmen zu behandeln, die auftreten können. In diesem Abschnitt werden wir einige häufige Probleme untersuchen und erfahren, wie man sie löst.
Die häufigste Ausnahme, die beim Lesen von Fließkommaeingaben auftreten kann, ist die InputMismatchException
. Diese Ausnahme wird ausgelöst, wenn der Benutzer einen Wert eingibt, der nicht in eine Fließkommazahl umgewandelt werden kann.
Hier ist ein Beispiel, wie Sie diese Ausnahme behandeln können:
Scanner scanner = new Scanner(System.in);
try {
System.out.print("Enter a float value: ");
float floatValue = scanner.nextFloat();
System.out.println("You entered: " + floatValue);
} catch (InputMismatchException e) {
System.out.println("Invalid input. Please enter a float value.");
}
In diesem Beispiel fordert das Programm den Benutzer auf, einen Fließkommawert einzugeben und verwendet dann einen try-catch
-Block, um alle auftretenden InputMismatchException
-Ausnahmen zu behandeln. Wenn der Benutzer einen nicht-numerischen Wert eingibt, fängt das Programm die Ausnahme ab und zeigt eine Fehlermeldung an.
Eine weitere Ausnahme, die beim Lesen von Fließkommaeingaben auftreten kann, ist die NumberFormatException
. Diese Ausnahme wird ausgelöst, wenn der Eingabewert nicht als Fließkommazahl interpretiert werden kann.
Hier ist ein Beispiel, wie Sie diese Ausnahme behandeln können:
Scanner scanner = new Scanner(System.in);
try {
System.out.print("Enter a float value: ");
String input = scanner.nextLine();
float floatValue = Float.parseFloat(input);
System.out.println("You entered: " + floatValue);
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter a float value.");
}
In diesem Beispiel liest das Programm zunächst die Eingabe als String mit der nextLine()
-Methode und verwendet dann die Float.parseFloat()
-Methode, um die Eingabe in eine Fließkommazahl umzuwandeln. Wenn die Eingabe nicht als Fließkommazahl interpretiert werden kann, fängt das Programm die NumberFormatException
ab und zeigt eine Fehlermeldung an.
Indem Sie diese Art von Ausnahmen behandeln, können Sie sicherstellen, dass Ihr Programm robuster ist und ungültige Eingaben vom Benutzer elegant behandeln kann.