Hallo Community,
ich gehe gerade eine Klausuraufgabe durch und versuche sie umzusetzen. Einiges habe ich schon geschafft, aber jetzt hänge ich bei der Ausgabe fest.
Die Aufgabe ist wie folgt:
Die Klasse Fahrzeug dürfen wir nicht mehr ändern.
Die Klassen für Lkw, EBus und Pkw sehen bei mir so aus:
Ich kriege die Ausgabe wie angewiesen nicht ausgegeben. Wie ist das ganze weiter realisierbar?
ich gehe gerade eine Klausuraufgabe durch und versuche sie umzusetzen. Einiges habe ich schon geschafft, aber jetzt hänge ich bei der Ausgabe fest.
Die Aufgabe ist wie folgt:
Ergänzen Sie die folgenden Klassen EBus, Pkw und Lkw um geeignete Methoden und maxi-
mal zwei Attribute pro Klasse, so dass
- ein EBus keinen Treibstoff (null) tankt und einen Verbrauch von 0 Litern pro 100 km be-
sitzt,
- ein Pkw stets „Benzin“ tankt und einen Verbrauch von 5 Litern pro 100 km besitzt und
- ein Lkw stets „Diesel“ tankt und einen Verbrauch von 25 Litern pro 100 km besitzt.
Die Anzahl der Personen in einem Bus und einem Pkw ist jeweils bei der Erstellung von Ob-
jekten dieser Klassen im Konstruktor anzugeben. Ein Lkw besitzt immer genau 2 Personen.
Ein Aufruf der main-Methode der Klasse Fahrzeug soll hierbei folgende Ausgabe erzeugen:
Lkw 1 tankt Diesel für 2 Personen, 4.0
Lkw 2 tankt Diesel für 2 Personen, 4.0
Ein EBus tankt null für 41 Personen, 0.0
Noch ein EBus tankt null für 39 Personen, 0.0
Noch ein EBus tankt null für 41 Personen, 0.0
Der Pkw tankt Benzin für 5 Personen, 20.0
Die Klasse Fahrzeug dürfen wir nicht mehr ändern.
Die Klassen für Lkw, EBus und Pkw sehen bei mir so aus:
Java:
package klausurTestPaket;
public class Lkw extends Fahrzeug {
int lkwAnzahl = 0;
public Lkw() {
super(2, "Diesel");
lkwAnzahl++;
}
@Override
public double berechneVerbrauchPro100Km() {
return 25;
}
public String toString() {
return "Lkw " + this.lkwAnzahl + " tankt Diesel für 2 Personen, ";
}
}
Java:
package klausurTestPaket;
public class EBus extends Fahrzeug {
public EBus(int anzPersonen) {
super(anzPersonen, null);
}
@Override
public double berechneVerbrauchPro100Km() {
return 0;
}
}
Java:
package klausurTestPaket;
public class Pkw extends Fahrzeug {
public Pkw(int anzPersonen) {
super(anzPersonen, "Benzin");
}
@Override
public double berechneVerbrauchPro100Km() {
return 0;
}
public String toString() {
return "Der Pkw tankt Benzin für" +;
}
}
Java:
package klausurTestPaket;
public abstract class Fahrzeug {
private int anzPersonen;
private String treibstoffArt;
public Fahrzeug(int anzPersonen, String treibstoffArt) {
this.anzPersonen = anzPersonen;
this.treibstoffArt = treibstoffArt;
}
public abstract double berechneVerbrauchPro100Km();
protected double kmProLiter() {
return 100 / berechneVerbrauchPro100Km();
}
public String toString() {
return "tankt " + treibstoffArt + " für " + anzPersonen + " Personen, ";
}
public static void main(String[] args) {
Lkw brummiA = new Lkw();
Lkw brummiB = new Lkw();
EBus oekoA = new EBus(41);
EBus oekoB = new EBus(39);
EBus oekoC = new EBus(41);
Pkw taxi = new Pkw(5);
System.out.println("" + brummiA + brummiA.kmProLiter());
System.out.println("" + brummiB + brummiB.kmProLiter());
System.out.println("" + oekoA + oekoA.kmProLiter());
System.out.println("" + oekoB + oekoB.kmProLiter());
System.out.println("" + oekoC + oekoC.kmProLiter());
System.out.println("" + taxi + taxi.kmProLiter());
}
}
Ich kriege die Ausgabe wie angewiesen nicht ausgegeben. Wie ist das ganze weiter realisierbar?