Liebe Java gemeinde. Ich muss eine Aufgabe lösen, bei der ich einen Anstoß brauche...
Also ich denke, dass man mit "throw" arbeiten muss, aber wie genau entzieht sich meines Wissens....
Die Aufgabe Lautet wie folgt:
Die Klasse Wein incl. Konstruktor(en):
DIe Main-Methode:
Ich hoffe ihr könnt mir vielleicht weiterhelfen...
Vielen Dank schon mal bis hier hin für's durchlesen!
Also ich denke, dass man mit "throw" arbeiten muss, aber wie genau entzieht sich meines Wissens....
Die Aufgabe Lautet wie folgt:
Überarbeiten Sie die Plausibilitätsprüfung in dem Konstruktor der Klasse Wein
aus dem Listing 5 dieses Studienheftes so, dass bei ungültigen Werten nicht mehr
„stillschweigend“ Standardwerte gesetzt werden, sondern jeweils eine Ausnahme
der Klasse IllegalArgumentException ausgelöst wird.
Sorgen Sie dafür, dass diese Ausnahmen an den Aufrufer weitergeleitet werden.
Erstellen Sie auch eine main()-Methode, in der Sie die Ausnahmen behandeln,
und testen Sie dort die Änderungen.
aus dem Listing 5 dieses Studienheftes so, dass bei ungültigen Werten nicht mehr
„stillschweigend“ Standardwerte gesetzt werden, sondern jeweils eine Ausnahme
der Klasse IllegalArgumentException ausgelöst wird.
Sorgen Sie dafür, dass diese Ausnahmen an den Aufrufer weitergeleitet werden.
Erstellen Sie auch eine main()-Methode, in der Sie die Ausnahmen behandeln,
und testen Sie dort die Änderungen.
Die Klasse Wein incl. Konstruktor(en):
Java:
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
if (alter > 0)
this.alter = alter;
//sonst den Standardwert 1 setzen
else
this.alter = 1;
//und auch f�r den Preis
if (grundpreis > 9)
this.grundpreis = grundpreis;
else
this.grundpreis = 10;
}
DIe Main-Methode:
Java:
public class Java08a_05 {
public static void main(String[] args) {
//eine neue Instanz mit unsinnigen Werten erzeugen
Wein flasche2 = new Wein(-10,20.5);
//den Preis ausgeben
//er wird aus Standard-Werten berechnet, die �ber den Konstruktor gesetzt werden
System.out.println(flasche2.getPreisProFlasche());
}
}
Ich hoffe ihr könnt mir vielleicht weiterhelfen...
Vielen Dank schon mal bis hier hin für's durchlesen!
Zuletzt bearbeitet: