Estoy trabajando en un simulador de ticket de aparcamiento y yo estoy tratando de escribir un método que utiliza la placa del carnet de conducir como un parámetro que busca en la colección de officerslist y devuelve el número de billetes emitidos para un coche específico. Tengo estas clases
public class ParkedCar {
private String ownerName;
private String carMake;
private String licensePlateNumber;
private int modelYear;
private int numberOfMinutesParked;
public class ParkingTicket {
private String officerName;
private String officerBadgeNumber;
private String ticketNumber;
private String carLicensePlateNumber;
private double fineAmountInCAD;
public class PoliceOfficer
{
private String officerName;
private String officerBadgeNumber;
private ArrayList<ParkingTicket> ticketList;
import java.util.ArrayList;
import java.util.Iterator;
public class PoliceDepartment
{
private String address;
private ArrayList<PoliceOfficer> officerList;
mi método se parece a esto en el momento
public int totalParkingTicketCountOfACar
int totalCount = 0;
int totalCount = 0;
ArrayList<PoliceOfficer> carTickets = new ArrayList<PoliceOfficer>();
Iterator<PoliceOfficer> it = carTickets.iterator();
while(it.hasNext()){
PoliceOfficer carticket = it.next();
if(officerList.equalsIgnoreCase(licensePlateNumber)){
totalCount++;
}
}
return totalCount;
No estoy seguro de cómo hacer para tener los todos los oficiales de la lista y compararla con la placa de matrícula para obtener el número de billetes emitidos para un coche específico? Cualquier ayuda es muy apreciada ! :)
Cada uno PoliceDepartment
tiene una lista de PoliceOfficer
.
Cada uno PoliceOfficer
tiene una lista de ParkingTicket
.
Cada uno ParkingTicket
es para uno ParkedCar
.
Usted quiere iterar a través de todos los PoliceOfficer
's. Para cada uno desea iterar a través de sus ParkingTicket
's. Para cada ParkingTicket
cuyas carLicensePlateNumber
coincida con su parámetro, que desea incrementar el total acumulado.
public int getTotalCarTickets(String license) {
int total = 0;
PoliceDepartment pd = // However you obtain it.
for (PoliceOfficer po : pd.getOfficerList()) {
for (ParkingTicket ticket : po.getTicketList()) {
if (ticket.getCarLicensePlateNumber().equals(license)) {
total++;
}
}
}
return total;
}