Wie überprüft man, ob ein String eine Zahl in Java ist?
Hallo zusammen! Ich bin ein Java-Anfänger und bin auf folgendes Problem gestoßen: Ich muss überprüfen, ob ein String nur Ziffern enthält oder in eine Zahl umgewandelt werden kann. Zum Beispiel habe ich eine Benutzereingabe und möchte sicherstellen, dass es wirklich eine Zahl ist, bevor ich mathematische Operationen damit durchführe.
Hier ist, was ich versucht habe:
String input = "123";
if (input.matches("\\d+")) {
int number = Integer.parseInt(input);
System.out.println("Es ist eine Zahl: " + number);
}
Aber das funktioniert nur für positive ganze Zahlen. Was ist mit negativen Zahlen, Gleitkommazahlen (z.B. "3.14") oder Zahlen in wissenschaftlicher Notation (z.B. "1.5e10")? Ich habe auch bemerkt, dass die Methode `Integer.parseInt()` eine `NumberFormatException` wirft, wenn der String keine gültige ganze Zahl ist. Wie behandelt man all diese Fälle richtig?
Ich brauche eine zuverlässige Lösung, die funktioniert für:
- Ganze Zahlen (positiv und negativ)
- Zahlen mit Komm