Main Class Implement a main class that implements our ParkingOffice.java class. Parkingoffice.java public class ParkingOffice { String name; String address; String phone; String parkingOfficeName; List customers; List cars; List lots; List charges; public ParkingOffice(){ customers = new ArrayList<>(); cars = new ArrayList<>(); lots = new ArrayList<>(); charges = new ArrayList<>(); } public String getParkingOfficeName(){ return this.parkingOfficeName; } /* to implement the desired park function */ public String park(Date date,String ParkingPermit,ParkingLot pl){ /* to have the amount paid during the transaction for the specified parking lot */ double amount=pl.amount; /* to have the date on which the parking lot is booked */ String onDate=date.toString(); /* to know the permit id */ String permitId=ParkingPermit; /* to print the transaction receipt */ String s="Amount paid on date: "; s=s+onDate; s=s+" is "+Double.toString(amount); s=s+"\nDear customer, your transaction for vehicle with permit ID, "; s=s+permitId; s=s+" is successful!!"; return s; } public double getParkingCharges (ParkingCharge p ){ if(p.numofHours <= 3) { p.amount= 2; } else if(p.numofHours> 3 && p.numofHours <= 19) p.amount = 2.0 + 0.5*(p.numofHours - 3); else if (p.numofHours > 19) p.amount = 10; return p.amount ; } public Money getParkingCharges(Customer c){ /* to search for the customer in the cars list */ for(int i=0;i
Main Class
Implement a main class that implements our ParkingOffice.java class.
Parkingoffice.java
public class ParkingOffice {
String name;
String address;
String phone;
String parkingOfficeName;
List<Customer> customers;
List<Car> cars;
List<ParkingLot> lots;
List<ParkingCharge> charges;
public ParkingOffice(){
customers = new ArrayList<>();
cars = new ArrayList<>();
lots = new ArrayList<>();
charges = new ArrayList<>();
}
public String getParkingOfficeName(){
return this.parkingOfficeName;
}
/* to implement the desired park function */
public String park(Date date,String ParkingPermit,ParkingLot pl){
/* to have the amount paid during the transaction for
the specified parking lot */
double amount=pl.amount;
/* to have the date on which the parking lot is booked */
String onDate=date.toString();
/* to know the permit id */
String permitId=ParkingPermit;
/* to print the transaction receipt */
String s="Amount paid on date: ";
s=s+onDate;
s=s+" is "+Double.toString(amount);
s=s+"\nDear customer, your transaction for vehicle with permit ID, ";
s=s+permitId;
s=s+" is successful!!";
return s;
}
public double getParkingCharges (ParkingCharge p ){
if(p.numofHours <= 3) {
p.amount= 2;
}
else if(p.numofHours> 3 && p.numofHours <= 19)
p.amount = 2.0 + 0.5*(p.numofHours - 3);
else if (p.numofHours > 19)
p.amount = 10;
return p.amount ;
}
public Money getParkingCharges(Customer c){
/* to search for the customer in the cars list */
for(int i=0;i<cars.size();i++){
if(cars.get(i).getOwner.equals(c.getName())){
/* to search for lot for the obtained car in the lot list */
for(int j=0;j<lots.size();j++){
for(int k=0;k<lots.get(j).cars.size();k++){
if(lots.get(j).cars.get(k).getLicense().equals(cars.get(i).getLicense())){
String x=lots.get(j).lotId;
/* to search for the lotID in the parking charges
and get the amount for that parking lot */
for(int m=0;m<charges.size();m++){
/* on getting the amount returning the money object */
if(charges.get(m).lotID.equals(x)){
String money =Double.toString(x);
Money m1=new Money(money);
return m1;
}
}
break;
}
}
}
break;
Trending now
This is a popular solution!
Step by step
Solved in 3 steps