Parking Ticket Simulator For this assignment you will have a set of classes that
ID: 3738069 • Letter: P
Question
Parking Ticket Simulator For this assignment you will have a set of classes that work together to simulate a police officer issuing a parking ticket. These are the following classes
===============================================
============================
===========================================
=====================================
Ticket should look something like this for 5 diffrent people all in the same output
Ticket for 2007 Honda
Car Data:
Make: Honda
Year: 2007
Color: Black
License Number: VA12345
Minutes Parked: 125
Officer Data:
Name: Smith
BadgeNumber: 2930
Minutes Illegaly Parked: 65
Fine: $45.00
Explanation / Answer
here is the code fr the parking ticket simulator written in java,
let me know if any corrections needed.
public class ParkingTicketSim {
class ParkedCar {
private String make;
private String model;
private String color;
private String licenseNum;
private int minsparked;
public ParkedCar(String make, String model, String color,
String licenseNum, int minsparked) {
super();
this.make = make;
this.model = model;
this.color = color;
this.licenseNum = licenseNum;
this.minsparked = minsparked;
}
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 String getLicenseNumber() {
return licenseNum;
}
public void setLicenseNumber(String licenseNum) {
this.licenseNum = licenseNum;
}
public int getMinutesParked() {
return minsparked;
}
public void setMinutesParked(int minsparked) {
this.minsparked = minsparked;
}
}
class ParkingMeter {
private int minutesPurchased;
public ParkingMeter(int minutesPurchased) {
super();
this.minutesPurchased = minutesPurchased;
}
public int getMinutesPurchased() {
return minutesPurchased;
}
public void setMinutesPurchased(int minutesPurchased) {
this.minutesPurchased = minutesPurchased;
}
}
class PoliceOfficer {
private String name;
private String badgeNumber;
public PoliceOfficer(String name, String badgeNumber) {
super();
this.name = name;
this.badgeNumber = badgeNumber;
}
public ParkingTicket patrol(ParkedCar car, ParkingMeter meter) {
ParkingTicket ticket = null;
int illegalMinutes = car.getMinutesParked()
- meter.getMinutesPurchased();
if (illegalMinutes > 0) {
ticket = new ParkingTicket(car, this, illegalMinutes);
}
return ticket;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBadgeNumber() {
return badgeNumber;
}
public void setBadgeNumber(String badgeNumber) {
this.badgeNumber = badgeNumber;
}
}
class ParkingTicket {
private ParkedCar car;
private PoliceOfficer officer;
private double fine;
private int minutes;
public final double BASE_FINE = 25.0;
public final double HOURLY_FINE = 10.0;
public ParkingTicket(ParkedCar car, PoliceOfficer officer, int minutes) {
super();
this.car = car;
this.officer = officer;
this.minutes = minutes;
calculateFine();
}
private void calculateFine() {
double hours = minutes / 60.0;
int hoursAsInt = (int) hours;
if ((hours - hoursAsInt) > 0) {
hoursAsInt++;
}
fine = BASE_FINE;
fine += (hoursAsInt * HOURLY_FINE);
}
public ParkedCar getCar() {
return car;
}
public void setCar(ParkedCar car) {
this.car = car;
}
public PoliceOfficer getOfficer() {
return officer;
}
public void setOfficer(PoliceOfficer officer) {
this.officer = officer;
}
public double getFine() {
return fine;
}
public void setFine(double fine) {
this.fine = fine;
}
public int getMinutes() {
return minutes;
}
public void setMinutes(int minutes) {
this.minutes = minutes;
}
@Override
public String toString() {
return "ParkingTicket [car=" + car + ", officer=" + officer
+ ", fine=" + fine + ", minutes=" + minutes
+ ", BASE_FINE=" + BASE_FINE + ", HOURLY_FINE="
+ HOURLY_FINE + "]";
}
}
public static void main(String[] args) {
ParkingTicketSim parkingTicketSimulator = new ParkingTicketSim();
ParkedCar car = parkingTicketSimulator.new ParkedCar("Toyota", "2005",
"Green", "ABC123", 125);
ParkingMeter meter = parkingTicketSimulator.new ParkingMeter(60);
PoliceOfficer officer = parkingTicketSimulator.new PoliceOfficer(
"Sargent Jack Johnson", "8909");
ParkingTicket ticket = officer.patrol(car, meter);
if (ticket != null) {
System.out.println(ticket);
} else {
System.out.println("No crimes committed!");
}
}
}