diff --git a/Engine.java b/Engine.java new file mode 100644 index 0000000..5f2aea9 --- /dev/null +++ b/Engine.java @@ -0,0 +1,16 @@ +public enum Engine { + DIESEL("Diesel"), + PETROL("Benzin"), + GAS("Gas"), + ELECTRO("Elektro"); + + private final String description; + + Engine(String description) { + this.description = description; + } + + public String getDescription() { + return description; + } +} diff --git a/Exercise.java b/Exercise.java index 7987eca..a86eff8 100644 --- a/Exercise.java +++ b/Exercise.java @@ -3,10 +3,13 @@ public class Exercise { public static void main(String[] args) { System.out.println("Anzahl Fahrzeuge: " + Vehicle.getNumberOfVehicles()); - Vehicle vehicle = new Vehicle("Porsche", "911"); - Vehicle vehicle1 = new Vehicle("Porsche", "911"); - Vehicle vehicle2 = new Vehicle("MAN", "TGX"); - Vehicle vehicle3 = new Vehicle("Opel", "Zafira Life"); + Vehicle vehicle1 = new Vehicle("Porsche", "911", Engine.ELECTRO); + Vehicle vehicle2 = new Vehicle("MAN", "TGX", Engine.DIESEL); + Vehicle vehicle3 = new Vehicle("Opel", "Zafira Life", Engine.DIESEL); + + System.out.println(vehicle1.toString()); + System.out.println(vehicle2.toString()); + System.out.println(vehicle3.toString()); System.out.println("Anzahl Fahrzeuge: " + Vehicle.getNumberOfVehicles()); } diff --git a/Vehicle.java b/Vehicle.java index 19b4112..7889629 100644 --- a/Vehicle.java +++ b/Vehicle.java @@ -1,14 +1,16 @@ public class Vehicle { - private String make; - private String model; + private final String make; + private final String model; private double speedInKmh; + private final Engine engine; private static int numberOfVehicles; - public Vehicle(String make, String model) { + public Vehicle(String make, String model, Engine engine) { this.make = make; this.model = model; Vehicle.numberOfVehicles++; + this.engine = engine; } public String getMake() { @@ -19,12 +21,12 @@ public String getModel() { return model; } - public double getSpeedInKmh() { - return speedInKmh; + public Engine getEngine() { + return engine; } - public static int getNumberOfVehicles() { - return Vehicle.numberOfVehicles; + public double getSpeedInKmh() { + return speedInKmh; } public void accelerate(int valueInKmh) { @@ -38,6 +40,10 @@ public void brake(int valueInKmh) { } public String toString() { - return make + " " + model; + return getMake() + " " + getModel() + " (" + getEngine().getDescription() + ")"; + } + + public static int getNumberOfVehicles() { + return Vehicle.numberOfVehicles; } }