Skip to content

Commit 6e73c5a

Browse files
committed
update exercises
1 parent 165458c commit 6e73c5a

File tree

6 files changed

+58
-39
lines changed

6 files changed

+58
-39
lines changed

Car.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
public final class Car extends Vehicle {
22

3-
private int seats;
3+
private final int seats;
44

55
public Car(String make, String model, Engine engine, int seats) {
66
super(make, model, engine);
@@ -12,25 +12,24 @@ public int getSeats() {
1212
}
1313

1414
public void doATurboBoost() {
15-
speed *= 2;
15+
speedInKmh *= 2;
1616
System.out.println(
1717
getMake()
1818
+ " "
1919
+ getModel()
2020
+ " macht einen Turboboost und beschleunigt auf "
21-
+ speed
21+
+ speedInKmh
2222
+ " km/h");
2323
}
2424

25-
public void print() {
26-
System.out.println(
27-
getMake()
28-
+ " "
29-
+ getModel()
30-
+ " ("
31-
+ getEngine().getDescription()
32-
+ ", "
33-
+ seats
34-
+ " Sitzplaetze)");
25+
public String toString() {
26+
return getMake()
27+
+ " "
28+
+ getModel()
29+
+ " ("
30+
+ getEngine().getDescription()
31+
+ ", "
32+
+ seats
33+
+ " Sitzplaetze)";
3534
}
3635
}

Engine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ public enum Engine {
44
GAS("Gas"),
55
ELECTRO("Elektro");
66

7-
private String description;
7+
private final String description;
88

99
Engine(String description) {
1010
this.description = description;

Exercise.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,20 @@ public static void main(String[] args) {
77
Truck truck1 = new Truck("MAN", "TGX", Engine.DIESEL, 20);
88
Car car2 = new Car("Opel", "Zafira Life", Engine.DIESEL, 7);
99

10+
System.out.println("Anzahl Fahrzeuge: " + Vehicle.getNumberOfVehicles());
11+
12+
System.out.println(car1.toString());
13+
System.out.println(truck1.toString());
14+
System.out.println(car2.toString());
15+
16+
car1.accelerate(50);
17+
truck1.transform();
18+
car1.doATurboBoost();
19+
truck1.transform();
1020
rental.addVehicle(car1);
1121
rental.addVehicle(truck1);
1222
rental.addVehicle(car2);
1323

14-
rental.print();
24+
System.out.println(rental.toString());
1525
}
1626
}

Rental.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,22 @@
22

33
public class Rental {
44

5-
private String name;
6-
private ArrayList<Vehicle> vehicles;
5+
private final String name;
6+
private final ArrayList<Vehicle> vehicles;
77

88
public Rental(String name) {
99
this.name = name;
1010
vehicles = new ArrayList<>();
1111
}
1212

13+
public String getName() {
14+
return name;
15+
}
16+
17+
public ArrayList<Vehicle> getVehicles() {
18+
return vehicles;
19+
}
20+
1321
public void addVehicle(Vehicle vehicle) {
1422
vehicles.add(vehicle);
1523
}
@@ -29,11 +37,11 @@ public void transformAllTrucks() {
2937
}
3038
}
3139

32-
public void print() {
33-
System.out.println(name);
34-
System.out.println("Unsere Fahrzeuge: ");
35-
for (Vehicle v : vehicles) {
36-
v.print();
40+
public String toString() {
41+
String result = name + "\n" + "Unsere Fahrzeuge: \n";
42+
for (Vehicle vehicle : vehicles) {
43+
result += vehicle.toString() + "\n";
3744
}
45+
return result;
3846
}
3947
}

Truck.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
public final class Truck extends Vehicle {
22

3-
private int cargo;
3+
private final int cargo;
44
private boolean isTransformed;
55

66
public Truck(String make, String model, Engine engine, int cargo) {
@@ -18,17 +18,15 @@ public boolean isTransformed() {
1818

1919
public void transform() {
2020
if (isTransformed) {
21-
isTransformed = false;
2221
System.out.println(
2322
getMake() + " " + getModel() + " verwandelt sich in einen Lastwagen zurueck");
2423
} else {
25-
isTransformed = true;
2624
System.out.println(getMake() + " " + getModel() + " verwandelt sich in einen Autobot");
2725
}
26+
isTransformed = !isTransformed;
2827
}
2928

30-
public void print() {
31-
System.out.println(
32-
getMake() + " " + getModel() + " (" + getEngine().getDescription() + ", " + cargo + "t)");
29+
public String toString() {
30+
return getMake() + " " + getModel() + " (" + getEngine().getDescription() + ", " + cargo + "t)";
3331
}
3432
}

Vehicle.java

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ public abstract class Vehicle {
22

33
private String make;
44
private String model;
5+
protected double speedInKmh;
56
private Engine engine;
6-
protected double speed;
77
private static int numberOfVehicles;
88

99
public Vehicle(String make, String model, Engine engine) {
1010
this.make = make;
1111
this.model = model;
12+
Vehicle.numberOfVehicles++;
1213
this.engine = engine;
13-
numberOfVehicles++;
1414
}
1515

1616
public String getMake() {
@@ -25,19 +25,23 @@ public Engine getEngine() {
2525
return engine;
2626
}
2727

28-
public static int getNumberOfVehicles() {
29-
return numberOfVehicles;
28+
public double getSpeedInKmh() {
29+
return speedInKmh;
3030
}
3131

32-
public final void accelerate(int value) {
33-
speed += value;
34-
System.out.println(make + " " + model + " beschleunigt auf " + speed + "km/h");
32+
public final void accelerate(int valueInKmh) {
33+
speedInKmh += valueInKmh;
34+
System.out.println(toString() + " beschleunigt auf " + speedInKmh + "km/h");
3535
}
3636

37-
public final void brake(int value) {
38-
speed -= value;
39-
System.out.println(make + " " + model + " bremst auf " + speed + "km/h ab");
37+
public final void brake(int valueInKmh) {
38+
speedInKmh -= valueInKmh;
39+
System.out.println(toString() + " bremst auf " + speedInKmh + "km/h ab");
4040
}
4141

42-
public abstract void print();
42+
public abstract String toString();
43+
44+
public static int getNumberOfVehicles() {
45+
return Vehicle.numberOfVehicles;
46+
}
4347
}

0 commit comments

Comments
 (0)