初学者Java如何将arraylist对象转换为输出字符串值?
我正在编码让停车罚单模拟器工作。我有很多课程,相关的有ParkedCar课程、ParkingTicket课程和警官课程。现在我写了一个方法,我从ParkedCar中获取licensePlateNumber变量作为参数,我必须得到一辆车的ParkingTicket计数。我在下面的测试类中遇到了一个错误,因此它无法编译。方法如下 警官班初学者Java如何将arraylist对象转换为输出字符串值?,java,oop,arraylist,methods,Java,Oop,Arraylist,Methods,我正在编码让停车罚单模拟器工作。我有很多课程,相关的有ParkedCar课程、ParkingTicket课程和警官课程。现在我写了一个方法,我从ParkedCar中获取licensePlateNumber变量作为参数,我必须得到一辆车的ParkingTicket计数。我在下面的测试类中遇到了一个错误,因此它无法编译。方法如下 警官班 public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){ int number
public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){
int numberOfTickets = 0;
String carPlateNumber = licensePlateNumber.getLicensePlateNumber();
for(ParkingTicket ticket: ticketList){
if(carPlateNumber.equalsIgnoreCase(ticket.getCarLicensePlateNumber())){
numberOfTickets++
}
return numberOfTickets;
}
测试班
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"));
我在“1a2b3c”的末尾收到一个错误,表示java.lang.String无法转换为ParkedCar。有没有不使用字符串覆盖方法解决此问题的方法?此方法接受ParkedCar类型
public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){}
但你想传递字符串吗
assertEquals(2,p.getParkingTicketsCountForACar("1a2B3c"));
您正在传递licensePlateNumber的字符串值,并在方法中传递
public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){}
您希望输入ParkedCar类型,然后提取licensePlateNumber。您可以将该方法缩小为:
public int getParkingTicketsCountForACar(String licensePlateNumber){
for(ParkingTicket ticket: ticketList){
if(licensePlateNumber.equalsIgnoreCase(ticket.getCarLicensePlateNumber())){
numberOfTickets++
}
return numberOfTickets;
}
你要么改变你的方法
public int GetParkingTicketScontForaCar(驻车许可证号码){。。。
到
public int getparkingticketskoutforacar(字符串carPlateNumber){。。。
只需删除方法中的第二行,或您必须将实际的
ParkedCar
对象引用传递给该方法。GetParkingTicketScontForaCar需要一个类型为“ParkedCar”的参数,但您传递的是一个字符串,这就是代码无法编译的原因。在这种情况下,您可能需要调用p.GetParkingTicketScontForaCar(car)如果我将参数转换为字符串,那么如何访问licensePlateNumber输入?