Can someone please run this my program is not working { private String make; pri
ID: 3774550 • Letter: C
Question
Can someone please run this my program is not working
{
private String make;
private String model;
private String color;
private String licenseNumber;
private int minutesParked;
}
class ParkMeter
{
private int minutesPurchased;
}
class PoliceOfficer
{
private String name;
private String badgeNumber;
public ParkingTicket patrol(ParkCar car, ParkMeter meter)
{
ParkingTicket ticket = null;
int illegalMinutes = car.getMinutesParked()
- meter.getMinutesPurchased();
if (illegalMinutes > 0)
{
ticket = new ParkingTicket(car, this, illegalMinutes);
}
return ticket;
}
}
class ParkingTicket
{
private ParkCar 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(ParkCar 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 static void main(String[] args)
{
ParkingTicketSimulator parkingTicketSimulator = new ParkingTicketSimulator();
ParkCar car = parkingTicketSimulator.new ParkedCar("Toyota", "2005","Green", "ABC123", 125);
ParkMeter meter = parkingTicketSimulator.new ParkMeter(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!");
}
}
Explanation / Answer
public class ParkingTicketSimulator {
public static void main(String[] args) {
ParkedCar car = new ParkedCar("Toyota", "2005", "Green", "ABC123", 125);
ParkMeter meter = new ParkMeter(60);
PoliceOfficer officer = 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!");
}
}
}
class ParkedCar {
private String make;
private String model;
private String color;
private String licenseNumber;
private int minutesParked;
/**
* @param make
* @param model
* @param color
* @param licenseNumber
* @param minutesParked
*/
public ParkedCar(String make, String model, String color,
String licenseNumber, int minutesParked) {
this.make = make;
this.model = model;
this.color = color;
this.licenseNumber = licenseNumber;
this.minutesParked = minutesParked;
}
public int getMinutesParked() {
return minutesParked;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "ParkedCar [make=" + make + ", model=" + model + ", color="
+ color + ", licenseNumber=" + licenseNumber
+ ", minutesParked=" + minutesParked + "]";
}
}
class ParkMeter {
private int minutesPurchased;
/**
* @param minutesPurchased
*/
public ParkMeter(int minutesPurchased) {
this.minutesPurchased = minutesPurchased;
}
public int getMinutesPurchased() {
return minutesPurchased;
}
}
class PoliceOfficer {
private String name;
private String badgeNumber;
/**
* @param name
* @param badgeNumber
*/
public PoliceOfficer(String name, String badgeNumber) {
this.name = name;
this.badgeNumber = badgeNumber;
}
public ParkingTicket patrol(ParkedCar car, ParkMeter meter) {
ParkingTicket ticket = null;
int illegalMinutes = car.getMinutesParked()
- meter.getMinutesPurchased();
if (illegalMinutes > 0) {
ticket = new ParkingTicket(car, this, illegalMinutes);
}
return ticket;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "PoliceOfficer [name=" + name + ", 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);
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "ParkingTicket [car=" + car + ", officer=" + officer + ", fine="
+ fine + ", minutes=" + minutes + ", BASE_FINE=" + BASE_FINE
+ ", HOURLY_FINE=" + HOURLY_FINE + "]";
}
}
OUTPUT:
ParkingTicket [car=ParkedCar [make=Toyota, model=2005, color=Green, licenseNumber=ABC123, minutesParked=125], officer=PoliceOfficer [name=Sargent Jack Johnson, badgeNumber=8909], fine=45.0, minutes=65, BASE_FINE=25.0, HOURLY_FINE=10.0]