onesnapthanos:
私は駐車券シミュレータ作業を取得するためにコーディングしています。私は多くのクラスを持って、関連するものはParkedCarクラス、ParkingTicketクラスとpoliceOfficerクラスです。今、私は、パラメータとしてParkedCarからlicensePlateNumber変数を取る方法を書いた、と私は車のためのParkingTicket数を取得する必要があります。私はそれがこのためにコンパイル文句を言わない、私は以下の持っているテストクラスでのエラーを取得しています。方法は以下の通りです
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;
}
Testクラス
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"));
私はjava.lang.StringではParkedCarに変換することはできませんと言って非常に終わり「1a2b3c」でエラーを取得しています。文字列のオーバーライドメソッドを使用せずにこの問題を解決する方法はありますか?
Alufoil:
あなたはこの方法でlicensePlateNumberの文字列値を渡し、およびされています
public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){}
あなたはタイプParkedCarの入力を期待して、uが、あなたはlicensePlateNumberを抽出しています。あなただけの方法を縮小することができます:
public int getParkingTicketsCountForACar(String licensePlateNumber){
for(ParkingTicket ticket: ticketList){
if(licensePlateNumber.equalsIgnoreCase(ticket.getCarLicensePlateNumber())){
numberOfTickets++
}
return numberOfTickets;
}