I NEED HELP!!! I have my code working properly but now i want it to get the info
ID: 3817729 • Letter: I
Question
I NEED HELP!!! I have my code working properly but now i want it to get the information from a document i created in word. Below is my code. how can i get my program to get the information from the document and provide a ticket if the time is surpassed.
By the way this is all in Java.
public class ParkedCar {
private String make;
private String model;
private String color;
private String licenseNumber;
private int minutesParked;
public ParkedCar(String make, String model, String color,
String licenseNumber, int minutes) {
this.make = make;
this.model = model;
this.color = color;
this.licenseNumber = licenseNumber;
this.minutesParked = (minutes > 0) ? minutes : 0;
}
public ParkedCar(ParkedCar other) {
this.make = other.make;
this.model = other.model;
this.color = other.color;
this.licenseNumber = other.licenseNumber;
this.minutesParked = other.minutesParked;
}
public String getMake() {
return make;
}
public String getModel() {
return model;
}
public String getColor() {
return color;
}
public String getLicenseNumber() {
return licenseNumber;
}
public int getMinutesParked() {
return minutesParked;
}
public String toString() {
return "Make: " + make + " " +
"Model: " + model + " " +
"Color: " + color + " " +
"License Number: " + licenseNumber + " " +
"Minutes Parked: " + minutesParked;
}
}
public class ParkingMeter {
private int minutesPurchased;
public ParkingMeter(int minutes) {
minutesPurchased = (minutes > 0) ? minutes : 0;
}
public ParkingMeter(ParkingMeter other) {
this.minutesPurchased = other.minutesPurchased;
}
public int getMinutesPurchased() {
return minutesPurchased;
}
public String toString() {
return "Minutes Purchased: " + minutesPurchased;
}
}
public class PoliceOfficer {
private String name;
private String badgeNumber;
public PoliceOfficer(String name, String badgeNumber) {
this.name = name;
this.badgeNumber = badgeNumber;
}
public PoliceOfficer(PoliceOfficer other) {
this.name = other.name;
this.badgeNumber = other.badgeNumber;
}
public ParkingTicket patrol(ParkedCar car, ParkingMeter meter) {
if (car.getMinutesParked() > meter.getMinutesPurchased()) {
return new ParkingTicket(this,car,meter);
}
return null;
}
public String toString() {
return "Officer Name: " + name + " " +
"Badge Number: " + badgeNumber;
}
}
import java.text.DecimalFormat;
public class ParkingTicket {
private static int count = 0;
private PoliceOfficer officer;
private ParkedCar car;
private ParkingMeter meter;
private int fine;
public ParkingTicket(PoliceOfficer officer, ParkedCar car,
ParkingMeter meter) {
++count;
this.officer = officer;
this.car = car;
this.meter = meter;
int hoursOver = (int)Math.ceil((car.getMinutesParked() - meter.getMinutesPurchased())/60.0);
fine = 25 + 10*(hoursOver-1);
}
public String toString() {
DecimalFormat df = new DecimalFormat("$###.00");
return "Parking Ticket #" + count + " " + car + " "
+ meter + " Fine: " + df.format(fine) + " " + officer;
}
}
public class ParkingSimulator {
public static void main(String [] args) {
ParkedCar car = new ParkedCar("Ferrari","F50","Red","Too Fast",60);
ParkingMeter meter = new ParkingMeter(100);
PoliceOfficer officer = new PoliceOfficer("Mary MeterReader","ABC123");
ParkingTicket ticket = officer.patrol(car,meter);
if (ticket != null) {
System.out.println(ticket + " ");
}
else {
System.out.println("No ticket! ");
}
ParkedCar car2 = new ParkedCar("Tesla","Roadster","Blue","What Gas",75);
ParkingMeter meter2 = new ParkingMeter(60);
PoliceOfficer officer2 = new PoliceOfficer("Peter MeterReader","XYZ789");
ParkingTicket ticket2 = officer2.patrol(car2,meter2);
if (ticket2 != null) {
System.out.println(ticket2);
}
else {
System.out.println("No ticket!");
}
}
}
The document i want my program to get the information from is the following:
Its called: car.txt
looks like this:
Chevrolet
Camaro
RV946
83
120
Kia
Soul
QY229
72
196
Toyota
Camry
PM506
50
126
Ford
Focus
FC938
112
91
Ford
Explorer
BA916
36
171
Ford
Everest
UQ848
57
195
Kia
Sorrento
BW108
55
108
Toyota
Corolla
PD527
103
107
Toyota
Rav4
XS146
68
175
Toyota
Yaris
FY445
103
121
Chevrolet
Spark
QU405
87
144
Chevrolet
Malibu
FT808
37
129
Kia
Optima
CV035
93
170
Kia
Sedona
FT949
67
144
Honda
Civic
QA648
116
91
Honda
Accord
DL815
93
119
Honda
CR-V
BM519
88
125
Mazda
MX-5
XB118
31
143
Mazda
CX-5
VB048
64
108
Subaru
Legacy
XD416
105
153
Chevrolet
Camaro
RV946
83
120
Kia
Soul
QY229
72
196
Toyota
Camry
PM506
50
126
Ford
Focus
FC938
112
91
Ford
Explorer
BA916
36
171
Ford
Everest
UQ848
57
195
Kia
Sorrento
BW108
55
108
Toyota
Corolla
PD527
103
107
Toyota
Rav4
XS146
68
175
Toyota
Yaris
FY445
103
121
Chevrolet
Spark
QU405
87
144
Chevrolet
Malibu
FT808
37
129
Kia
Optima
CV035
93
170
Kia
Sedona
FT949
67
144
Honda
Civic
QA648
116
91
Honda
Accord
DL815
93
119
Honda
CR-V
BM519
88
125
Mazda
MX-5
XB118
31
143
Mazda
CX-5
VB048
64
108
Subaru
Legacy
XD416
105
153
Explanation / Answer
I have asssumed the column headers of the car.txt are,
Car Make, Car Model ,Car number, Minutes Purchased, Minutes Parked.
If Minutes Purchased, Minutes Parked. are interchange , you can interchange them in code ,
car = new ParkedCar(fields[0], fields[1], "Red", fields[2], Integer.parseInt(fields[3]));
meter = new ParkingMeter(Integer.parseInt(fields[4]));
Interchange them.
I have also asumed color to "red" for all card and single PoliceOffice.
Let me know if you have any doubts.
===Input====
Chevrolet, Camaro,RV946,83,120
Kia,Soul,QY229,72,196
Toyota,Camry,PM506,50,126
Ford,Focus,FC938,112,91
Ford,Explorer,BA916,36,171
Ford,Everest,UQ848,57,195
Kia,Sorrento,BW108,55,108
Toyota,Corolla,PD527,103,107
Toyota,Rav4,XS146,68,175
Toyota,Yaris,FY445,103,121
Chevrolet,Spark,QU405,87,144
Chevrolet,Malibu,FT808,37,129
Kia,Optima,CV035,93,170
Kia,Sedona,FT949,67,144
Honda,Civic,QA648,116,91
Honda,Accord,DL815,93,119
Honda,CR-V,BM519,88,125
Mazda,MX-5,XB118,31,143
Mazda,CX-5,VB048,64,108
Subaru,Legacy,XD416,105,153
====Code===
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ParkingSimulator {
@SuppressWarnings("resource")
public static void main(String[] args) throws IOException {
String csvFile = "car.csv";
BufferedReader br = null;
String line = "";
String cvsSplitBy = ",";
ParkedCar car;
ParkingMeter meter;
PoliceOfficer officer;
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
String[] fields = line.split(cvsSplitBy);
car = new ParkedCar(fields[0], fields[1], "Red", fields[2], Integer.parseInt(fields[4]));
meter = new ParkingMeter(Integer.parseInt(fields[3]));
officer = new PoliceOfficer("Mary MeterReader", "ABC123");
ParkingTicket ticket = officer.patrol(car, meter);
if (ticket != null) {
System.out.println(ticket + " ");
} else {
System.out.println("No ticket! ");
}
}
}
}
====Output=====
Parking Ticket #1
Make: Chevrolet
Model: Camaro
Color: Red
License Number: RV946
Minutes Parked: 120
Minutes Purchased: 83
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #2
Make: Kia
Model: Soul
Color: Red
License Number: QY229
Minutes Parked: 196
Minutes Purchased: 72
Fine: $45.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #3
Make: Toyota
Model: Camry
Color: Red
License Number: PM506
Minutes Parked: 126
Minutes Purchased: 50
Fine: $35.00
Officer Name: Mary MeterReader
Badge Number: ABC123
No ticket!
Parking Ticket #4
Make: Ford
Model: Explorer
Color: Red
License Number: BA916
Minutes Parked: 171
Minutes Purchased: 36
Fine: $45.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #5
Make: Ford
Model: Everest
Color: Red
License Number: UQ848
Minutes Parked: 195
Minutes Purchased: 57
Fine: $45.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #6
Make: Kia
Model: Sorrento
Color: Red
License Number: BW108
Minutes Parked: 108
Minutes Purchased: 55
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #7
Make: Toyota
Model: Corolla
Color: Red
License Number: PD527
Minutes Parked: 107
Minutes Purchased: 103
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #8
Make: Toyota
Model: Rav4
Color: Red
License Number: XS146
Minutes Parked: 175
Minutes Purchased: 68
Fine: $35.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #9
Make: Toyota
Model: Yaris
Color: Red
License Number: FY445
Minutes Parked: 121
Minutes Purchased: 103
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #10
Make: Chevrolet
Model: Spark
Color: Red
License Number: QU405
Minutes Parked: 144
Minutes Purchased: 87
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #11
Make: Chevrolet
Model: Malibu
Color: Red
License Number: FT808
Minutes Parked: 129
Minutes Purchased: 37
Fine: $35.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #12
Make: Kia
Model: Optima
Color: Red
License Number: CV035
Minutes Parked: 170
Minutes Purchased: 93
Fine: $35.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #13
Make: Kia
Model: Sedona
Color: Red
License Number: FT949
Minutes Parked: 144
Minutes Purchased: 67
Fine: $35.00
Officer Name: Mary MeterReader
Badge Number: ABC123
No ticket!
Parking Ticket #14
Make: Honda
Model: Accord
Color: Red
License Number: DL815
Minutes Parked: 119
Minutes Purchased: 93
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #15
Make: Honda
Model: CR-V
Color: Red
License Number: BM519
Minutes Parked: 125
Minutes Purchased: 88
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #16
Make: Mazda
Model: MX-5
Color: Red
License Number: XB118
Minutes Parked: 143
Minutes Purchased: 31
Fine: $35.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #17
Make: Mazda
Model: CX-5
Color: Red
License Number: VB048
Minutes Parked: 108
Minutes Purchased: 64
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Parking Ticket #18
Make: Subaru
Model: Legacy
Color: Red
License Number: XD416
Minutes Parked: 153
Minutes Purchased: 105
Fine: $25.00
Officer Name: Mary MeterReader
Badge Number: ABC123
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.