Explain the code by stating implementation decisions, reasons behind those implementation decisions, what you assume was hard or easy to implement, and what helped
We have a parking office class for a parking management system. It has dependencies and relations with customer, car, parking lot and parking charge classes.
Explain the code by stating implementation decisions, reasons behind those implementation decisions, what you assume was hard or easy to implement, and what helped.
public class ParkingOffice {
String name;
String address;
String phone;
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 Customer register() {
Customer cust = new Customer(name,address,phone);
customers.add(cust);
return cust;
}
public Car register(Customer c,String licence, CarType t) {
Car car = new Car(c,licence,t);
cars.add(car);
return car;
}
public Customer getCustomer(String name) {
for(Customer cust : customers)
if(cust.getName().equals(name))
return cust;
return null;
}
public double addCharge(ParkingCharge p) {
charges.add(p);
return p.amount;
}
public String[] getCustomerIds(){
String[] stringArray1 = new String[5];
for(int i=0;i<5;i++){
stringArray1[i] = customers.get(i).customerID;
}
return stringArray1;
}
public String [] getPermitID () {
String[] stringArray2 = new String[5];
for(int i=0;i<5;i++){
stringArray2[i] = charges.get(i).permitID;
}
return stringArray2;
}
public List<String> getPermitIds(Customer c){
List<String> permitid = new ArrayList<String>();
for(Car car:cars){
if(car.owner == c.customerId)
permitid.add(car.permit);
}
return permitid;
}
}

Trending now
This is a popular solution!
Step by step
Solved in 2 steps









