Während der Arbeit mit der Programmiersprache Java können verschiedene Ausnahmen auftreten, die Ihnen helfen, Fehler im Code zu identifizieren und zu korrigieren. Eine solche Art von Ausnahme ist die NumberFormatException, die auftritt, wenn beim Versuch, eine Zeichenfolge in eine Ganzzahl zu konvertieren, ein Fehler auftritt.
Dies geschieht normalerweise, wenn ein Programm versucht, eine Zeichenfolge, die einen nicht numerischen Wert enthält, mithilfe einer Methode in eine Ganzzahl zu konvertieren Integer.parseInt() oder ähnliches. Wenn Sie beispielsweise versuchen, die Zeichenfolge "abc" oder "12.34" in eine Ganzzahl zu konvertieren, wird eine NumberFormatException ausgelöst.
Um diese Ausnahme zu vermeiden, müssen Sie sicherstellen, dass die Zeichenfolge nur aus Ziffern besteht, bevor Sie eine Zeichenfolge in eine Ganzzahl konvertieren. Dazu können Sie die Methode verwenden Character.isDigit() oder reguläre Ausdrücke.
Beispielcode:
String str = "abc";
int num = Integer.parseInt(str);
> catch (NumberFormatException e)
In diesem Beispiel wird eine NumberFormatException ausgelöst, wenn Sie versuchen, die Zeichenfolge "abc" in eine Ganzzahl zu konvertieren. Im Catch-Block können wir diese Ausnahme behandeln und die erforderlichen Aktionen ausführen, z. B. eine Fehlermeldung ausgeben.
Java: Invalid Int
Eine Ausnahme NumberFormatException in Java tritt auf, wenn wir versuchen, eine Zeichenfolge in eine Zahl zu konvertieren, aber die Zeichenfolge hat ein ungültiges Format für einen gegebenen Datentyp. Genauer gesagt tritt der Fehler auf, wenn versucht wird, eine Zeichenfolge in einen ganzzahligen Wert (int) zu konvertieren.
Eine der häufigsten Ursachen für eine Ausnahme ist NumberFormatException in Java wird versucht, eine Zeichenfolge, die andere Zeichen als Ziffern enthält, in einen ganzzahligen Wert umzuwandeln. Wenn wir beispielsweise versuchen, die Zeichenfolge "abc" in int zu konvertieren, erhalten wir eine NumberFormatException, da "abc" kein gültiger ganzzahliger Wert ist.
Um eine NumberFormatException beim Konvertieren einer Zeichenfolge in ein int zu vermeiden, müssen Sie sicherstellen, dass die Zeichenfolge nur Zahlen enthält und dass sie sich im gültigen Wertebereich für int befindet. Dies kann mit Klassenmethoden erfolgen Character und bedingte Anweisungen.
Beispielcode, der eine NumberFormatException vermeidet:
// Eingabezeichenfolge
String input = "12345";
// Überprüfen, ob die Zeichenfolge nur aus Ziffern besteht
boolean containsOnlyDigits = true;
for (char c : input.toCharArray()) if (!Character.isDigit(c)) containsOnlyDigits = false;
break;
>
>
// Überprüfen, ob sich die Zeichenfolge im gültigen Wertebereich für int befindet
boolean inRange = true;
if (containsOnlyDigits) int number = Integer.parseInt(input);
if (number