Java доступ к Arraylist, чтобы сравнить его с параметром String? - PullRequest
1 голос
/ 04 апреля 2020

Я работаю на симуляторе парковочных талонов и пытаюсь написать метод, который использует номерной знак автомобиля в качестве параметра, который выполняет поиск в списке офицеров и возвращает количество билетов, выданных на указанный c автомобиль. У меня есть эти классы

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;

мой метод выглядит следующим образом

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;

Я не уверен, как go о наличии всех офицеров в списке и сравнить это на тот номерной знак, чтобы получить количество билетов, выданных на конкретный c автомобиль? Любая помощь высоко ценится ! :)

1 Ответ

2 голосов
/ 04 апреля 2020

Каждый PoliceDepartment имеет список PoliceOfficer.
Каждый PoliceOfficer имеет список ParkingTicket.
Каждый ParkingTicket предназначен для одного ParkedCar.

Вы хотите перебрать все PoliceOfficer. Для каждого вы хотите перебрать его ParkingTicket. Для каждого ParkingTicket, для которого carLicensePlateNumber соответствует вашему параметру, вы хотите увеличить промежуточный итог.

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...