Estoy de codificación para conseguir un trabajo de estacionamiento simulador de vuelo. Tengo muchas clases, los más relevantes son una clase ParkedCar, clase ParkingTicket y una clase policeofficer. Ahora me escribió un método en el que tomo la variable licensePlateNumber de ParkedCar como parámetro, y tengo que obtener el recuento ParkingTicket para un coche. Recibo un error en la clase de prueba que tengo a continuación, no lo puedo compilar debido a esto. el método es como sigue
clase policeofficer
public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){
int numberOfTickets = 0;
String carPlateNumber = licensePlateNumber.getLicensePlateNumber();
for(ParkingTicket ticket: ticketList){
if(carPlateNumber.equalsIgnoreCase(ticket.getCarLicensePlateNumber())){
numberOfTickets++
}
return numberOfTickets;
}
clase de prueba
public void testGetParkingTicketsCountForACar() {
PoliceOfficer p = new PoliceOfficer("Adam White","RCMP5225");
ParkedCar car = new ParkedCar("Bob Smith", "Porsche", 2015, "1A2B3C", 65);
ParkingMeter meter = new ParkingMeter("Burnaby",false,10.5,60);
p.issueParkingTicket(car, meter);
ParkedCar car2 = new ParkedCar("Scott Marks", "Ford", 2010, "MYCAR", 30);
meter.setNumberOfPurchasedMinutes(1);
p.issueParkingTicket(car2, meter);
car.setNumberOfMinutesParked(125);
meter.setNumberOfPurchasedMinutes(20);
p.issueParkingTicket(car, meter);
assertEquals(2,p.getParkingTicketsCountForACar("1a2B3c"));
Estoy recibiendo un error en el "1a2b3c" final diciendo java.lang.String no se puede convertir a ParkedCar. ¿Hay una manera de solucionar este problema sin necesidad de utilizar el método de reemplazo de cuerdas?
está de paso Valor de la cadena de licensePlateNumber, y en el método
public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){}
esperas de entrada del tipo ParkedCar, y entonces u está extrayendo el licensePlateNumber. se puede reducir el tamaño del método que se acaba de:
public int getParkingTicketsCountForACar(String licensePlateNumber){
for(ParkingTicket ticket: ticketList){
if(licensePlateNumber.equalsIgnoreCase(ticket.getCarLicensePlateNumber())){
numberOfTickets++
}
return numberOfTickets;
}