Revelch 8 P 3
Revelch 8 P 3
Scanner;
public class ParkingTicketSimulator {
static class ParkedCar {
private String
make,
model,
licenseNum,
color;
private int
minsParked;
public void setMake(String make) {
this.make = make;
return;
}
public void setModel(String model) {
this.model = model;
return;
}
public void setColor(String color) {
this.color = color;
return;
}
public void setLicenseNum(String licenseNum) {
this.licenseNum = licenseNum;
return;
}
public void setMinsParked(int minsParked) {
this.minsParked = minsParked;
return;
}
}
static class ParkingMeter {
private int minsPurchased;
public void setMinsPurchased(int minsPurchased) {
this.minsPurchased = minsPurchased;
return;
}
}
static class ParkingTicket {
private int fineAmount;
private String poName;
private int poBadgeNum;
private ParkedCar car;
public ParkingTicket(ParkedCar car,
int mins, String poName, int poBadgeNum) {
this.car = car;
this.poName = poName;
this.poBadgeNum = poBadgeNum;
if (mins <= 60)
fineAmount = 25;
else
fineAmount = (25 + (10 * ((mins - 60) / 60)));
}
public String getCarMake() {
return car.make;
}
public String getCarModel() {
return car.model;
}
public String getCarColor() {
return car.color;
}
public String getCarLicenseNum() {
return car.licenseNum;
}
public int getFineAmount() {
return fineAmount;
}
public String getPOName() {
return poName;
}
public int getPOBadgeNum() {
return poBadgeNum;
}
}
static class PoliceOfficer {
private String name;
private int badgeNum;
public void setPOName(String name) {
this.name = name;
return;
}
public void setPOBadgeNum(int badgeNum) {
this.badgeNum = badgeNum;
return;
}
public ParkingTicket checkCarAndMeter(
ParkedCar car, ParkingMeter meter) {
ParkingTicket ticket = null;
int mins;
if ((mins = (car.minsParked - meter.minsPurchased)) > 0)
ticket = new ParkingTicket(car, mins, name, badgeNum);
return ticket;
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ParkedCar car = new ParkedCar();
ParkingMeter meter = new ParkingMeter();
PoliceOfficer po = new PoliceOfficer();
System.out.printf("=== Parking Ticket Simulator ===%n%n"
+ "---------%nCar Data%n---------%n%n"
+ "Enter car make: ");
car.setMake(input.nextLine());
System.out.printf("Enter car model: ");
car.setModel(input.nextLine());
System.out.printf("Enter car color: ");
car.setColor(input.nextLine());
System.out.printf("Enter car license number: ");
car.setLicenseNum(input.nextLine());
System.out.printf("Enter minutes car has been parked: ");
car.setMinsParked(input.nextInt());
System.out.printf("%n----------%nMeter Data%n----------"
+ "%n%nEnter minutes purchased by driver: ");
meter.setMinsPurchased(input.nextInt());
input.nextLine();
System.out.printf("%n-------%nPO Data%n-------%n%n"
+ "Enter police officer's name: ");
po.setPOName(input.nextLine());
System.out.printf("Enter police officer's badge number: ");
po.setPOBadgeNum(input.nextInt());
System.out.printf("%n---------------------%n"
+ "Parking Ticket Issued%n---------------------"
+ "%n%n");
ParkingTicket ticket;
if ((ticket = po.checkCarAndMeter(car, meter)) != null) {
System.out.printf("| Parking ticket #: . . .%n"
+ "| Fined amount: $%d.00%n"
+ "| Car issued to: %s %s %s, license #: %s%n"
+ "| Issued by officer: %s, badge #: %d%n",
ticket.getFineAmount(), ticket.getCarColor(),
ticket.getCarMake(), ticket.getCarModel(),
ticket.getCarLicenseNum(), ticket.getPOName(),
ticket.getPOBadgeNum());
} else {
System.out.printf("No parking ticket has been issued!%n");
}
return;
}
}