Hey Community,
ich mache gerade für mein Fernstudium eine Hausaufgabe und ich brauche mal unbedingt nen tipp!
Es hackt an einer Methode.
Ich möchte gerne, dass die catch Anweisung IllegalArgument Exception aufgerufen wird, wenn der Wert 0 eingegeben wird.
Aber die catch Anweisung wird nie Ausgeführt.? Wo liegt mein Fehler habt ihr ne Ahnung?
Danke für Eure Hilfe.
ich mache gerade für mein Fernstudium eine Hausaufgabe und ich brauche mal unbedingt nen tipp!
Es hackt an einer Methode.
Ich möchte gerne, dass die catch Anweisung IllegalArgument Exception aufgerufen wird, wenn der Wert 0 eingegeben wird.
Aber die catch Anweisung wird nie Ausgeführt.? Wo liegt mein Fehler habt ihr ne Ahnung?
Danke für Eure Hilfe.
Code:
/* ################################
* Die Klasse für den Wein
* Jetzt mit Plausibilitätsprüfung
##################################*/
public class Wein {
private int alter;
private double grundpreis;
private double preisProFlasche;
//der Standard-Konstruktor
public Wein() {
//er ruft über this() den Konstruktor mit den beiden Parametern auf
//und übergibt die Standardwerte
this(1, 10);
}
//der Konstruktor setzt das Alter
//der Preis erhält einen Standard-Wert
public Wein(int alter) {
//er ruft ebenfalls über this den Konstruktor mit den beiden Parametern auf
this(alter, 10);
}
//der Konstruktor setzt den Preis
//das Alter erhält einen Standard-Wert
public Wein(double grundpreis) {
//und dieser Konstruktor ruft auch den Konstruktor mit den beiden Parametern auf
this(1, grundpreis);
}
//der Konstruktor setzt das Alter und den Grundpreis
//er enthält jetzt Plausibilitätsprüfungen
public Wein(int alter, double grundpreis) {
//die Plausibilitätsprüfung für das Alter
try {
if (alter > 0)
this.alter = alter;
System.out.println("wert groesser null");}
//sonst den Standardwert 1 setzen
catch (IllegalArgumentException e){
System.out.println("Fehler");
}
//und auch für den Preis
if (grundpreis > 9)
this.grundpreis = grundpreis;
else
this.grundpreis = 10;
}
//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;
}
}
/*##############################################
* jetzt haben die Konstruktoren der Klasse
* Wein Plausibilit�tspr�fungen
###############################################*/
public class Java08_05 {
public static void main(String[] args) {
//eine neue Instanz mit unsinnigen Werten erzeugen
Wein flasche2 = new Wein(0,1.1);
//den Preis ausgeben
//er wird aus Standard-Werten berechnet, die �ber den Konstruktor gesetzt werden
System.out.println(flasche2.getPreisProFlasche());
}
}