Hallo zusammen,
ich habe folgenden Quelltext erstellt:
Der Quelltext enthielt ursprünglich keine Exception Behandlung, sondern setzte bei fehlenden bzw. falschen Werten einfach Standardwerte.
Ich habe nun einfach die Konstruktoren abgeändert, sodass bei fehlenden bzw. ungültigen Werten einen IllegalArgumentException erscheint.
Ich denke, das stimmt soweit?
Allerdings denke ich mir, dass es hier bestimmt eine elegantere Möglichkeit gibt?
Ist es möglich, alle Fälle im letzten Konstruktor abzudecken, in dem im Prinzip ja die Plausibilitätsprüfung stattfindet?
Viele Grüße
ich habe folgenden Quelltext erstellt:
Java:
public class Wein2 {
private int alter;
private double grundpreis;
private double preisProFlasche;
//der Standard Konstruktor
public Wein2 () throws IllegalArgumentException {
throw new IllegalArgumentException ("Sie haben kein Alter und keinen Grundpreis eingegeben!");
}
//Der Konstruktor, falls kein Grundpreis eingegeben wurde
public Wein2 (int alter) throws IllegalArgumentException {
throw new IllegalArgumentException ("Sie haben keinen Grundpreis eingegeben!");
}
//der Konstruktor, falls kein Alter eingegeben wurde
public Wein2 (double grundpreis) throws IllegalArgumentException {
throw new IllegalArgumentException ("Sie haben kein Alter eingegeben!");
}
//der Konstruktor setzt das Alter und den Grundpreis
//und prüft ob alle Werte plausibel sind
public Wein2 (int alter, double grundpreis) throws IllegalArgumentException {
if (alter > 0) {
this.alter = alter;
}
else
throw new IllegalArgumentException ("Sie haben ein ungültiges Alter eingegeben!");
if (grundpreis > 9)
this.grundpreis = grundpreis;
else
throw new IllegalArgumentException ("Sie haben einen ungültigen Grundpreis eingegeben!");
}
//die Methode berechnet den Preis pro Flasche
public void preisBerechnen() {
preisProFlasche = alter * grundpreis;
}
//die Methode liefert den Preis pro Flasche
public double getPreisProFlasche() {
preisBerechnen();
return preisProFlasche;
}
}
Der Quelltext enthielt ursprünglich keine Exception Behandlung, sondern setzte bei fehlenden bzw. falschen Werten einfach Standardwerte.
Ich habe nun einfach die Konstruktoren abgeändert, sodass bei fehlenden bzw. ungültigen Werten einen IllegalArgumentException erscheint.
Ich denke, das stimmt soweit?
Allerdings denke ich mir, dass es hier bestimmt eine elegantere Möglichkeit gibt?
Ist es möglich, alle Fälle im letzten Konstruktor abzudecken, in dem im Prinzip ja die Plausibilitätsprüfung stattfindet?
Viele Grüße