Hallo, ich schon wieder. Wieder ein paar Fragen. Diesmal betrifft es mehrere Ausnahmen, die ich in ein Script einbauen möchte. Dazu mal die kurze Aufgabe:
Ändern Sie die Klasse Fahrzeug so, dass ein Fahrzeug keine negativen
Geschwindigkeiten haben kann. Bei dem Versuch, ein Fahrzeug mit einer negativen Anfangsgeschwindigkeit zu erzeugen, soll der Konstruktor eine Ausnahme vom Typ FalscherWertException auslösen. Bei dem Versuch, die Geschwindigkeit eines Fahrzeugs nachträglich auf einen Wert kleiner Null zu verringern, soll die Methode beschleunigen() eine Ausnahme vom Typ NichtMoeglichException auslösen. Definieren Sie dazu die benötigten Ausnahmen und nehmen Sie die nötigen Ergänzungen an der Klasse Fahrzeug vor. (Die Ausnahmen müssen keine eigenen Variablen oder Methoden enthalten.) Ändern Sie die Klasse FahrzeugTester so, dass auftretende Ausnahmen abgefangen werden. Die Methode test() soll in jedem einzelnen Schritt eines Tests auftretende Ausnahmen behandeln, indem sie eine entsprechende Fehlermeldung ausgibt und den laufenden Test dann fortsetzt. Die Methode test() soll aber keine Ausnahmen behandeln, die durch ungültige Anfangsgeschwindigkeiten ausgelöst werden. Letztere sollen von der Methode main() behandelt werden. Auch hier soll eine entsprechende Fehlermeldung ausgegeben und dann der Test mit dem nächsten Startwert fortgesetzt werden. Die Ausgaben der aktuellen Geschwindigkeit nach einer Geschwindigkeitsänderung sowie die Ausgabe der Meldung über das Ende des Tests mit einer bestimmten Anfangsgeschwindigkeit sollen auch nach dem Auslösen einer Ausnahme gemacht werden.
Geben Sie alle Java-Dateien zusammen in einem ZIP-Archiv ab.
Hinweise: Definieren Sie die Ausnahmen in eigenen Dateien. Geben Sie beim Übersetzen des Programms alle zugehörigen Quelltextdateien gleichzeitig als Argumente des Compiler-Aufrufs an.
Soweit so gut. Ich habe die Klassen Fahrzeug und FahrzeugTester erstellt. Diese sind soweit in Ordnung. Nun möchte ich in der Klasse Fahrzeug den ersten Punkt abarbeiten. Dies wäre die Ausnahme, dass keine negativen Geschwindigkeiten ein Fahrzeug haben kann. Wie kann ich am besten vorgehen?
Hier noch die zwei Klassen Fahrzeug und FahrzeugTester
Kann ich hier einfach in der Klasse Fahrzeug nach dem Konstruktor eine Try Exception einfügen?
Ändern Sie die Klasse Fahrzeug so, dass ein Fahrzeug keine negativen
Geschwindigkeiten haben kann. Bei dem Versuch, ein Fahrzeug mit einer negativen Anfangsgeschwindigkeit zu erzeugen, soll der Konstruktor eine Ausnahme vom Typ FalscherWertException auslösen. Bei dem Versuch, die Geschwindigkeit eines Fahrzeugs nachträglich auf einen Wert kleiner Null zu verringern, soll die Methode beschleunigen() eine Ausnahme vom Typ NichtMoeglichException auslösen. Definieren Sie dazu die benötigten Ausnahmen und nehmen Sie die nötigen Ergänzungen an der Klasse Fahrzeug vor. (Die Ausnahmen müssen keine eigenen Variablen oder Methoden enthalten.) Ändern Sie die Klasse FahrzeugTester so, dass auftretende Ausnahmen abgefangen werden. Die Methode test() soll in jedem einzelnen Schritt eines Tests auftretende Ausnahmen behandeln, indem sie eine entsprechende Fehlermeldung ausgibt und den laufenden Test dann fortsetzt. Die Methode test() soll aber keine Ausnahmen behandeln, die durch ungültige Anfangsgeschwindigkeiten ausgelöst werden. Letztere sollen von der Methode main() behandelt werden. Auch hier soll eine entsprechende Fehlermeldung ausgegeben und dann der Test mit dem nächsten Startwert fortgesetzt werden. Die Ausgaben der aktuellen Geschwindigkeit nach einer Geschwindigkeitsänderung sowie die Ausgabe der Meldung über das Ende des Tests mit einer bestimmten Anfangsgeschwindigkeit sollen auch nach dem Auslösen einer Ausnahme gemacht werden.
Geben Sie alle Java-Dateien zusammen in einem ZIP-Archiv ab.
Hinweise: Definieren Sie die Ausnahmen in eigenen Dateien. Geben Sie beim Übersetzen des Programms alle zugehörigen Quelltextdateien gleichzeitig als Argumente des Compiler-Aufrufs an.
Soweit so gut. Ich habe die Klassen Fahrzeug und FahrzeugTester erstellt. Diese sind soweit in Ordnung. Nun möchte ich in der Klasse Fahrzeug den ersten Punkt abarbeiten. Dies wäre die Ausnahme, dass keine negativen Geschwindigkeiten ein Fahrzeug haben kann. Wie kann ich am besten vorgehen?
Hier noch die zwei Klassen Fahrzeug und FahrzeugTester
Code:
public class Fahrzeug {
private int geschwindigkeit;
public Fahrzeug(int geschwindigkeit) {
this.geschwindigkeit = geschwindigkeit;
}
public int getGeschwindigkeit() {
return geschwindigkeit;
}
// negative Beschleunigungen verringern die Geschwindigkeit
public void beschleunigen(int aenderung) {
geschwindigkeit += aenderung;
}
}
Code:
public class FahrzeugTester {
private static void test(int start) {
int[] aenderungen = { 30, 50, -90, 30, -80 };
Fahrzeug wagen = new Fahrzeug(start);
for (int i = 0; i < aenderungen.length; i++) {
System.out.println("Ändern der Geschwindigkeit um "
+ aenderungen[i]);
wagen.beschleunigen(aenderungen[i]);
System.out.println("Aktuelle Geschwindigkeit: "
+ wagen.getGeschwindigkeit());
}
}
public static void main(String[] args) {
int[] startwerte = { 0, 10, -20, 200 };
for (int i = 0; i < startwerte.length; i++) {
System.out.println("Beginn des Tests mit Startgeschwindigkeit "
+ startwerte[i]);
test(startwerte[i]);
System.out.println("Test mit Startgeschwindigkeit "
+ startwerte[i] + " beendet.");
}
}
}
Kann ich hier einfach in der Klasse Fahrzeug nach dem Konstruktor eine Try Exception einfügen?
Zuletzt bearbeitet: