Bartleby Related Questions Icon

Related questions

Question

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;

Expert Solution
Check Mark