Datentypen Exception beim einlesen eines Zahlenwertes

abc123t

Mitglied
Hallo!
Wir haben eine Aufgabe bekommen, in der soll ein String (z.B: +2 oder -1) eingelesen werden. Daraufhin wird (wenn es die erste Eingabe ist) 0+2 gerechnet. Die Umwandlung (dass der erste char ein + ist und daraufhin plus gerechnet wird und der zweite char ein double mit dem wert 2 ist) klappt schon, auch die schleife, sodass man beliebig viele eingaben machen kann, klappt auch. Allerdings sollen wir nun eine Exception ausgeben, wenn man z.B. +a oder +0a, eingibt.

Java:
userInput = input.nextLine();
            for (int x = 1; x < userInput.length(); x++) {
                if (userInput.charAt(x) == ' ') {
                    try {
                        throw new InvalidOperationException();
                    } catch (InvalidOperationException iop) {
                        System.err.println(iop.getMessage());
                    }
                }
                /*else if (userInput.charAt(x) keine Zahl ist{
                 * Exception...
                 * Ansonsten weiterrechnen
                 */
            }
Gibt es eine Anweisung die alle double Zahlen zusammenfasst? Oder kann man das irgendwie anders ausdrücken? Stehe da ein wenig auf dem Schlauch
 

Robat

Top Contributor
Würde dir da zu RegEx raten.
Damit kannst du dann sowas machen userInput.charAt(x).matches(pattern)){...} .
Wie das Pattern aussieht, kommt jetzt ein bisschen darauf an was du für Zahlen hast.
Für eine gänige double Zahl könntest du bspw. sowas machen
...matches("[0-9](\\.[0-9]*)?");
Das wäre jetzt für pos. Zahlen mit (oder ohne) Kommastellen)
 

Neue Themen


Oben