Parking Ticket Simulater For this assignment you will design a set of classes th
ID: 3557919 • Letter: P
Question
Parking Ticket Simulater
For this assignment you will design a set of classes that work together to simulate a police officer issuing a parking ticket. The classes you should design are:
-The ParkedCar Class: This class should simulate a parked car. The class's responsibilities are:
-To know the cars make, model, color, license number, and the number of minutes that the car has been parked.
The ParkedMeter Class: This class should simulate a parking meter. The class's only repsonsibility is:
-To know the number of minutes of parking time that has been purchased
The ParkingTicket Class: This class should simulate a parking ticket. The class/s responsiblities are:
-To report the make, model, color, and license number of the illegally parked car.
-To report the amount of the fine, which $25 for the first hour or part of an hour that the car is illegally parked, plus $10 for every additional hour or part of an hour that the car is illegally parked.
-To report the name and badge number of the police officer issuing the ticket.
The PoliceOfficer Class: This class should simulate a police officer inspecting parked cars. The class's responsibilities are:
-To know the polices officer's name and badge number
-To examine a ParkedCar object and a ParkingMeter object, and determine whether the car's time has expired
-To issue a parking ticket ( generate a ParkingTicket object) if the car's time has expired
Write a program that demonstrates how these classes collaborate.
Explanation / Answer
Program Code:
import java.util.Scanner;
public class CarParkingDemo
{
public static void main(String args[])
{
boolean legal;
int fine;
Scanner sc=new Scanner(System.in);
System.out.println("Welcome to car parking");
System.out.println("Enter details to park car:");
ParkedCar pc=new ParkedCar();
System.out.println("Enter make:");
pc.setMake(sc.nextLine());
System.out.println("Enter model:");
pc.setModel(sc.nextLine());
System.out.println("Enter color:");
pc.setColor(sc.nextLine());
System.out.println("Enter licence number:");
pc.setLicenceNumber(sc.nextInt());
System.out.println("Enter number of minutes:");
pc.setNumberOfMinutes(sc.nextInt());
int mins=pc.getNumberOfMinutes();
ParkedMeter pm=new ParkedMeter();
System.out.println("Enter purchased minutes:");
pm.setPurchasedMinutes(sc.nextInt());
int purmins=pm.geturchasedMinutes();
if(mins==0)
legal=false;
else
legal=true;
if(purmins<mins)
fine=((mins-purmins)/60)*10;
else
fine=36;
ParkingTicket pt=new ParkingTicket();
pt.simulateParking(legal,fine);
PoliceOfficer po=new PoliceOfficer();
po.setPname("John Fredrick");
po.setBadgeNum(1211);
String pname=po.getPname();
int bnum=po.getBadgeNum();
}
}
class ParkedCar
{
String make, model, color;
int licenseNumber, numberOfMinutes;
ParkedCar()
{
this.make="";
this.model="";
this.color="white";
this.licenseNumber=0;
this.numberOfMinutes=0;
}
void setMake(String make)
{
this.make=make;
}
String getMake()
{
return make;
}
void setModel(String model)
{
this.model=model;
}
String getModel()
{
return model;
}
void setColor(String color)
{
this.color=color;
}
String getColor()
{
return color;
}
void setLicenceNumber(int licenseNumber)
{
this.licenseNumber=licenseNumber;
}
int getLicenseNumber()
{
return licenseNumber;
}
void setNumberOfMinutes(int numberOfMinutes)
{
this.numberOfMinutes=numberOfMinutes;
}
int getNumberOfMinutes()
{
return numberOfMinutes;
}
}
class ParkedMeter
{
int purchasedMinutes;
ParkedMeter()
{
this.purchasedMinutes=0;
}
void setPurchasedMinutes(int purchasedMinutes)
{
this.purchasedMinutes=purchasedMinutes;
}
int geturchasedMinutes()
{
return purchasedMinutes;
}
}
class ParkingTicket extends ParkedCar
{
boolean legal;
String ticket;
ParkingTicket()
{
this.legal=true;
this.ticket="";
}
void simulateParking(boolean legal, int fine)
{
if(!legal)
{
String make=getMake();
String model=getModel();
String color=getColor();
int liNum=getLicenseNumber();
int mins=getNumberOfMinutes();
System.out.println("The details of illegally parked car are as shown below:");
System.out.println("Make: "+make);
System.out.println("Model: "+model);
System.out.println("Color: "+color);
System.out.println("Licence Num: "+liNum);
System.out.println("number of minutes: "+mins);
System.out.println("Fine is: "+fine);
}
}
}
class PoliceOfficer
{
String Pname;
int badgeNum;
PoliceOfficer()
{
Pname="";
badgeNum=0;
}
void setPname(String name)
{
this.Pname=name;
}
String getPname()
{
return Pname;
}
void setBadgeNum(int num)
{
this.badgeNum=num;
}
int getBadgeNum()
{
return badgeNum;
}
}