Hi ich habe hier eine Aufgabe aus einer Klausur ich komme einfach nicht auf die richtige Lösung. Könnte mir jemand die Lösung der Aufgabe hinschreiben (und evtl. auch Kommentieren) denn ich komme einfach nicht drauf bzw. das was ich immer bekomme da bin ich mir nicht sicher!
Ich hoffe ihr könnt mir helfen! Ich brauch diese Aufgab damit ich für eine Klausur lernen kann
Aufgabe 7
Für alle Attribute und Methoden in dieser Aufgabe soll gelten:
Auf Attribute darf nur mit Methoden der jeweiligen Klasse, auf Methoden darf von überall her zugegriffen werden!
7a) Entwerfen Sie eine Klasse Auto entsprechend folgender Spezifikationen:
Attribute:
- maxTankinhalt (double), der maximale Tankinhalt
- aktTankinhalt (double), der akutelle Tankinhalt
- kmStand (int), der Kilometerstand
- verbrauch (double), Verbrauch pro 100 km
- farbereit (boolean)
Konstruktor:
Paramter: Angabe für den maximalen Tankinhalt und den Verbrauch.
Wirkung: Der Kilometerstand und der aktuelle Tankinhalt werden mit 0 initialisiert, das Auto ist fahrbereit. Die restlichen Attribute werden entsprechend den Parametern gesetzt. Es ist kein Test erforderlich, ob die übergebenen Daten sinnvoll sind.
Methoden:
tanken
- Paramter, Rückgabewert: keine
- Wirkung: Der Tank wird voll gemacht
fahren
- Paramter: ganze Zahl n (die Fahrstecke in km)
- Wirkung: Ist n>0, das Auto fahrbereit und reicht der aktuelle Tankinahlt für die angeforderte Fahrstecke, so wird gefahren; d.h. der Kilometerstand wird um n erhöht und der Tankinhalt um den zur Fahrstrecke gehörenden Verbrauch erniedrigt. Ist n<=0, das Auto nicht fahrbereit oder reicht der Tankinhalt nich taus, so soll eine entsprechende Meldung auf dem Bildschirm ausgegeben werden.
rückgabewert: keiner
reparieren
- Paramter, Rückgabewert: keine
Wirkung: Das Auto wird fahrbereit gemacht
Aufgabe 7 b)
Entwerfen Sie eine Klasse Person entsprechend folgender Spezifikation:
Attribute:
- name (String), der Name
- meinAuto (Auto), ein Auto entsprechend Teil a) dieser Aufgabe
Konstruktor:
Parameter: Wie bei Auto; zusätzlich ein parameter für den Namen
Methoden:
fahren
- Paramter: ganze Zahl n (die Fahrstrecke in km)
- Wirkung: Das Auto wird um die entsprechende Strecke bewegt
- Rückgabewert: keiner
Aufgabe 7 c
(i) Ändern Sie die Methode fahren in der Klasse Auto so ab, dass beim Auftreten einer der dort beschriebenen Fehlersituationen eine Ausnahme ausgeworfen wird, der eine Beschreibung des aufgetretenen Fehlers mitgeleifert werden soll
(ii) Ergänzen Sie die Methode fahren in der Klasse Person durch eine Ausnahmebehandlung, die sich hier auf ide Ausgabe des Fehlertextes beschränken kann.
Aufgabe 7 d
(i) Entwerfen Sie jeweils eine eigene Ausnahmeklasse TankException für die Fehlerursache "Tankinahlt reicht nicht" und FahrbereitException für die Fehlerursache "Auto nicht fahrbereit".
Den jeweiligen Konstruktoren soll ein Beschreibungstext des Fehlers mitgegeben werden.
(ii) Ändern sie die Methode fahren der Klasse Auto so ab, dass bei der Eingabe von n<= 0 eine Exception und ansonsten beim Auftreten eines der beiden anderen Fehler die entsprechende in (i) definierte Ausnahme ausgeworfen wird.
(iii) Ändern Sie die Methode fahren der Klasse Person wie folgt ab:
- Ist das Auto nicht fahrbereit, so wird es repariert
- Reicht der Tankinhalt nicht, so wird getankt
- Wird eine Fahrstrecke n <=0 angefordert, so wird diese Ausnahme an den Aufrufer der Methode weitergereicht
Ich hoffe ihr könnt mir helfen! Ich brauch diese Aufgab damit ich für eine Klausur lernen kann
Aufgabe 7
Für alle Attribute und Methoden in dieser Aufgabe soll gelten:
Auf Attribute darf nur mit Methoden der jeweiligen Klasse, auf Methoden darf von überall her zugegriffen werden!
7a) Entwerfen Sie eine Klasse Auto entsprechend folgender Spezifikationen:
Attribute:
- maxTankinhalt (double), der maximale Tankinhalt
- aktTankinhalt (double), der akutelle Tankinhalt
- kmStand (int), der Kilometerstand
- verbrauch (double), Verbrauch pro 100 km
- farbereit (boolean)
Konstruktor:
Paramter: Angabe für den maximalen Tankinhalt und den Verbrauch.
Wirkung: Der Kilometerstand und der aktuelle Tankinhalt werden mit 0 initialisiert, das Auto ist fahrbereit. Die restlichen Attribute werden entsprechend den Parametern gesetzt. Es ist kein Test erforderlich, ob die übergebenen Daten sinnvoll sind.
Methoden:
tanken
- Paramter, Rückgabewert: keine
- Wirkung: Der Tank wird voll gemacht
fahren
- Paramter: ganze Zahl n (die Fahrstecke in km)
- Wirkung: Ist n>0, das Auto fahrbereit und reicht der aktuelle Tankinahlt für die angeforderte Fahrstecke, so wird gefahren; d.h. der Kilometerstand wird um n erhöht und der Tankinhalt um den zur Fahrstrecke gehörenden Verbrauch erniedrigt. Ist n<=0, das Auto nicht fahrbereit oder reicht der Tankinhalt nich taus, so soll eine entsprechende Meldung auf dem Bildschirm ausgegeben werden.
rückgabewert: keiner
reparieren
- Paramter, Rückgabewert: keine
Wirkung: Das Auto wird fahrbereit gemacht
Aufgabe 7 b)
Entwerfen Sie eine Klasse Person entsprechend folgender Spezifikation:
Attribute:
- name (String), der Name
- meinAuto (Auto), ein Auto entsprechend Teil a) dieser Aufgabe
Konstruktor:
Parameter: Wie bei Auto; zusätzlich ein parameter für den Namen
Methoden:
fahren
- Paramter: ganze Zahl n (die Fahrstrecke in km)
- Wirkung: Das Auto wird um die entsprechende Strecke bewegt
- Rückgabewert: keiner
Aufgabe 7 c
(i) Ändern Sie die Methode fahren in der Klasse Auto so ab, dass beim Auftreten einer der dort beschriebenen Fehlersituationen eine Ausnahme ausgeworfen wird, der eine Beschreibung des aufgetretenen Fehlers mitgeleifert werden soll
(ii) Ergänzen Sie die Methode fahren in der Klasse Person durch eine Ausnahmebehandlung, die sich hier auf ide Ausgabe des Fehlertextes beschränken kann.
Aufgabe 7 d
(i) Entwerfen Sie jeweils eine eigene Ausnahmeklasse TankException für die Fehlerursache "Tankinahlt reicht nicht" und FahrbereitException für die Fehlerursache "Auto nicht fahrbereit".
Den jeweiligen Konstruktoren soll ein Beschreibungstext des Fehlers mitgegeben werden.
(ii) Ändern sie die Methode fahren der Klasse Auto so ab, dass bei der Eingabe von n<= 0 eine Exception und ansonsten beim Auftreten eines der beiden anderen Fehler die entsprechende in (i) definierte Ausnahme ausgeworfen wird.
(iii) Ändern Sie die Methode fahren der Klasse Person wie folgt ab:
- Ist das Auto nicht fahrbereit, so wird es repariert
- Reicht der Tankinhalt nicht, so wird getankt
- Wird eine Fahrstrecke n <=0 angefordert, so wird diese Ausnahme an den Aufrufer der Methode weitergereicht