Hallo zusammen,
ich komme bei einer Aufgabe einfach nicht weiter, ich hoffe ihr könnt mir helfen wo mein Fehler ist bzw. was ich besser machen könnte.
Die Aufgabenstellung:
Überarbeiten Sie die Plausibilitätsprüfung in dem Konstruktor der Klasse
Wein aus dem Code 1.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
Klasse Wein:
Main Methode:
ich danke euch schon mal im vorraus für die Hilfe.
ich komme bei einer Aufgabe einfach nicht weiter, ich hoffe ihr könnt mir helfen wo mein Fehler ist bzw. was ich besser machen könnte.
Die Aufgabenstellung:
Überarbeiten Sie die Plausibilitätsprüfung in dem Konstruktor der Klasse
Wein aus dem Code 1.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
Klasse Wein:
Java:
/* ################################
* Die Klasse f�r den Wein
* Jetzt mit Plausibilit�tspr�fung
##################################*/
package java08b_01_05;
class Wein {
private int alter;
private double grundpreis;
private double preisProFlasche;
// //der StandardkKonstruktor
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 Standardwert
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 Standardwert
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)
{
try
{
//die Plausibilit�tspr�fung f�r das Alter
if (alter > 0);
this.alter = alter;
this.alter = 1;
}
catch (IllegalArgumentException e){
System.out.println("Test1");
}
try
{
//und auch f�r den Preis
if (grundpreis > 9);
this.grundpreis = grundpreis;
this.grundpreis = 10;
}
catch (IllegalArgumentException e)
{
System.out.println("Test2");
}
}
//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;
}
}
Main Methode:
Java:
public class Java08b_01_05 {
public static void main(String[] args)
{
Wein flasche1= new Wein();
Wein flasche2= new Wein();
try{
new Wein(-10,20.5);
new Wein (10,10);
}
catch (IllegalArgumentException e){
System.out.println(flasche1.getPreisProFlasche()+" Programm ende Fehler version : "+ e.getMessage() );
System.out.println(flasche2.getPreisProFlasche() +" Programm ende Alles Okay version : " + e.getMessage() );
}
}
}
ich danke euch schon mal im vorraus für die Hilfe.
Zuletzt bearbeitet von einem Moderator: