-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRentalService.java
More file actions
39 lines (34 loc) · 1.2 KB
/
RentalService.java
File metadata and controls
39 lines (34 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.util.*;
public class RentalService {
private Map<String, Vehicle> vehicles = new HashMap<>();
public void addVehicle(Vehicle vehicle) {
vehicles.put(vehicle.getVehicleID(), vehicle);
}
public Vehicle rentVehicle(String vehicleID) {
Vehicle vehicle = vehicles.get(vehicleID);
if (vehicle != null && vehicle.rentVehicle()) {
System.out.println(vehicle + " has been rented.");
return vehicle;
} else {
System.out.println("Vehicle not available for rent.");
return null;
}
}
public void returnVehicle(String vehicleID) {
Vehicle vehicle = vehicles.get(vehicleID);
if (vehicle != null && vehicle.isRented()) {
vehicle.returnVehicle();
System.out.println(vehicle + " has been returned.");
} else {
System.out.println("Invalid return. Either vehicle doesn't exist or isn't rented.");
}
}
public void listAvailableVehicles() {
System.out.println("Available Vehicles:");
for (Vehicle v : vehicles.values()) {
if (!v.isRented()) {
System.out.println(" - " + v);
}
}
}
}