我有一个方法可以在我的军官类(class)中发出 parking 罚单,
public ParkingTicket issueParkingTicket(ParkedCar car,ParkingMeter meter){
if(isParkingTimeExpired(car,meter) == true){
ParkingTicket ticket = new ParkingTicket(officerName,officerBadgeNumber,car.getLicensePlateNumber(),calculateFine(car,meter));
ticket.displayDetails();
return ticket;
} else
{ return null;
}
}
有人要求我修改它,使其不返回任何内容,所以我将其设为无效,所以我这样做了
public void issueParkingTicket(ParkedCar car,ParkingMeter meter){
if(isParkingTimeExpired(car,meter) == true){
ParkingTicket ticket = new ParkingTicket(officerName,officerBadgeNumber,car.getLicensePlateNumber(),calculateFine(car,meter));
ticketList.add(ticket);
ticket.displayDetails();
}
现在在我的主驱动程序类中,我必须创建一个军官对象,但由于我必须使该方法无效以不返回任何内容,所以我收到一条错误消息,指出 void 无法转换为 ParkingTicket
,如果我从括号中去掉 myCar1,myMeter1
,我会收到一条错误消息,告诉我需要 ParkedCar 、 ParkingMeter 参数。我怎样才能做到这一点,这样我就不会收到错误,并且创建的官员对象可以发出 parking 罚单?
public class Driver
{
main method
public static void main(String [] args){
ParkedCar myCar1 = new ParkedCar("Fred","toyota",2013,"Z1234",25);
myCar1.displayDetails();
ParkingMeter myMeter1 = new ParkingMeter("SYDNEY",true,0.15,70);
myMeter1.displayDetails();
PoliceOfficer officer1 = new PoliceOfficer("John doe","DMX1234");
ParkingTicket ticket = officer1.issueParkingTicket(myCar1,myMeter1);
这是我的错误的根源ParkingTicket Ticket =ficial1.issueParkingTicket(myCar1,myMeter1);
最佳答案
您可以删除以下部分:
ParkingTicket ticket =
在你的主要方法中。
由于工单是在函数中创建的,因此在调用该函数时无需创建新工单。
关于Java在不同的类中调用void方法到主类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61023147/