2 (Code only) You have been hired by TAMU Transportation Services to write a pro
ID: 3714783 • Letter: 2
Question
2 (Code only) You have been hired by TAMU Transportation Services to write a program that simulates all parts of a TAMU police officer issuing a parking ticket. The classes vou need to create are: ParkedCar - Has fields for the car's make, model, color, license plate and number of minutes parked - Appropriate constructor and accessor methods ParkingMeter -A field for the parking lot number - A field for the number of minutes that were purchased on the meter Appropriate accessor methods PoliceOfficer - Has fields for the officer's name and officer's badge number - A method called examine which takes as arguments a ParkedCar and ParkingMeter and determines if the car is parked illegally The officer then determines a fine which is calculated as $1 for each minute over the limit. It returns a ParkingTicket if required, or returns null if not. - Appropriate constructor and accessor methods - Has fields which contain the fine amount, the parking lot number, the car's information and the - Appropriate constructor and accessor methods ParkingTicket police officer's information. Now, write a main in which you create 3 ParkedCar objects and 3 ParkingMeter objects. Initialize each of these 6 objects with a random number (between 1-500) for the minutes (make up the rest of the Car information) Now create 1 PoliceOfficer (make up a name and badge number) that examines each ParkedCar and its associated ParkingMeter objects and generates a ParkingTicket if required Your final output should be the number of ParkingTickets generated, along with the information about the ParkedCar, PoliceOfficer and the ticket amount, for each ticket. If there were no tickets generated, display "No tickets generated!" Name your main class Hw5pr2 and your file Hw5pr2.java. Submit all .java filesExplanation / Answer
public class ParkedCar {
private String make;
private String model;
private String color;
private boolean licencePlate;
private double parkedMinutes;
public ParkedCar(String make, String model, String color, boolean licencePlate, double parkedMinutes) {
super();
this.make = make;
this.model = model;
this.color = color;
this.licencePlate = licencePlate;
this.parkedMinutes = parkedMinutes;
}
public String getMake() {
return make;
}
public void setMake(String make) {
this.make = make;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public boolean isLicencePlate() {
return licencePlate;
}
public void setLicencePlate(boolean licencePlate) {
this.licencePlate = licencePlate;
}
public double getParkedMinutes() {
return parkedMinutes;
}
public void setParkedMinutes(double parkedMinutes) {
this.parkedMinutes = parkedMinutes;
}
}
public class ParkingMeter {
private int parkingLotNumber;
private double minutesPurchased;
public ParkingMeter(int parkingLotNumber, double minutesPurchased) {
super();
this.parkingLotNumber = parkingLotNumber;
this.minutesPurchased = minutesPurchased;
}
public int getParkingLotNumber() {
return parkingLotNumber;
}
public void setParkingLotNumber(int parkingLotNumber) {
this.parkingLotNumber = parkingLotNumber;
}
public double getMinutesPurchased() {
return minutesPurchased;
}
public void setMinutesPurchased(double minutesPurchased) {
this.minutesPurchased = minutesPurchased;
}
}
public class PoliceOfficer {
private String name;
private int badgeNumber;
public ParkingTicket examine(ParkedCar car, ParkingMeter meter) {
if (car.isLicencePlate() == false || meter.getParkingLotNumber() <= 0 || meter.getMinutesPurchased() <= 0) {
System.out.println("car is parked illegally");
return null;
} else {
if (car.getParkedMinutes() > meter.getMinutesPurchased()) {
double overTime = car.getParkedMinutes() - meter.getMinutesPurchased();
double fine = overTime * 1;
ParkingTicket ticket = new ParkingTicket(fine, meter.getParkingLotNumber());
return ticket;
}
else
{
double fine=0;
ParkingTicket ticket = new ParkingTicket(fine, meter.getParkingLotNumber());
return ticket;
}
}
}
}
public class ParkingTicket {
private double fineAmount;
private int parkingLotNumber;
private ParkedCar parkedCar;
private PoliceOfficer policeOfficer;
public ParkingTicket(double fineAmount, int parkingLotNumber, ParkedCar parkedCar, PoliceOfficer policeOfficer) {
super();
this.fineAmount = fineAmount;
this.parkingLotNumber = parkingLotNumber;
this.parkedCar = parkedCar;
this.policeOfficer = policeOfficer;
}
public ParkingTicket(double fineAmount, int parkingLotNumber) {
super();
this.fineAmount = fineAmount;
this.parkingLotNumber = parkingLotNumber;
}
public double getFineAmount() {
return fineAmount;
}
public void setFineAmount(double fineAmount) {
this.fineAmount = fineAmount;
}
public int getParkingLotNumber() {
return parkingLotNumber;
}
public void setParkingLotNumber(int parkingLotNumber) {
this.parkingLotNumber = parkingLotNumber;
}
public ParkedCar getParkedCar() {
return parkedCar;
}
public void setParkedCar(ParkedCar parkedCar) {
this.parkedCar = parkedCar;
}
public PoliceOfficer getPoliceOfficer() {
return policeOfficer;
}
public void setPoliceOfficer(PoliceOfficer policeOfficer) {
this.policeOfficer = policeOfficer;
}
}
public class Hw5pr2 {
public static void main(String[] args) {
ParkedCar car1=new ParkedCar("fiber","2018 Model","black",false,12);
ParkedCar car2=new ParkedCar("plastic","2017 Model","red",true,15);
ParkedCar car3=new ParkedCar("iron","2018 Model","blue",false,20);
ParkingMeter meter1=new ParkingMeter(143,120);
ParkingMeter meter2=new ParkingMeter(100,15);
ParkingMeter meter3=new ParkingMeter(150,145);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.