wie kann ich es in meinem Programm rein tun

AmonSchmidt

Mitglied
hallo leute 🙂

ich bin an meinem programm dran, ich soll ein Taschenrechner programmieren und ich habe schon vieles geschafft aber bei 2 aufgaben komme ich nicht weiter 🙁
die Aufgaben : Wenn eine Zahl nicht als Double verarbeitet werden kann, soll eine Fehlermeldung ausgegeben werden, die first operand is no number bzw. second operand is no number enthält. • Wenn durch 0 geteilt werden soll, soll eine Fehlermeldung ausgegeben werden, die division by zero enthält.
wie kann ich diese unterbringen ? 🙁
mein programm sieht so aus :
Java:
public class Calculator {

    public static void main(String[] args) {
        if (args.length < 3) {
            throw new IllegalArgumentException("too few arguments");
        }

        if (args.length > 3) {
            throw new IllegalArgumentException("too many arguments");
        }

        double zahl1 = Double.parseDouble(args[0]);
        String operator = args[1];
        double zahl2 = Double.parseDouble(args[2]);

        switch (operator) {
            case "+":
            System.out.println(zahl1 + zahl2);
            break;

            case "-":
            System.out.println(zahl1 - zahl2);
            break;

            case "*":
            System.out.println(zahl1 * zahl2);
            break;

            case "/":
            System.out.println(zahl1 / zahl2);
            break;

            default:
            throw new IllegalArgumentException("unknown operator");
        }
    }

}
 
Du benötigst dort eine Exception.
Und zwar eine selbst Implementierte Exception Klasse " DivisionByNullException " diese müsste dann von der Oberklasse exception erben.

Danach müsste du diese Exception in deiner Methode einbinden, kannst diese dort direkt fangen ( mit try catch ) oder weiterwerfen lassen ( mit throw) @AmonSchmidt
 
Okay stimmt . Dort ist nicht spezifisch geschrieben, dass er dafür ne neue Klasse implementieren muss.
Er kann das auch einfach der IllegalArgumentException als Parameter übergeben
Es steht nicht mal dort, dass er überhaupt eine Exception werfen soll. Im einfachsten Fall gibt er die Meldung einfach auf der Konsole aus (und berechnet einfach nichts). Das wäre auch durchaus in Ordnung, denn der Rechner wird per Kommandozeilen-Parameter "bedient".
 

Neue Themen


Zurück
Oben