我正在根据停车票进行作业。我目前有2种方法,第一种方法返回一个数字,即特定车牌号码的票数:
public void totalTicketsOfLicense(String issuedLicenseNumber){
int numberOfTickets = 0;
Iterator<ParkingTicket> it = tickets.iterator();
while(it.hasNext()){
ParkingTicket eachTicket = it.next();
if(eachTicket.getCarLicenseNumber().equalsIgnoreCase(issuedLicenseNumber)){
numberOfTickets++;
}
}
System.out.println("The license number: " + issuedLicenseNumber + " has recieved " + numberOfTickets + " tickets.");
}
另一种方法返回一个数字,用于计算特定许可证号码具有的罚款总额:
public double totalTicketFineOfLicense(String issuedLicenseNumber){
double totalFine = 0.0;
Iterator<ParkingTicket> it = tickets.iterator();
while(it.hasNext()){
ParkingTicket eachTicket = it.next();
if(eachTicket.getCarLicenseNumber().equalsIgnoreCase(issuedLicenseNumber)){
totalFine = totalFine + eachTicket.getAmountFined();
}
}
System.out.println("The license number: " + issuedLicenseNumber + " has recieved " + totalFine + "$ in total fines.");
return totalFine;
}
现在我必须创建一个最终方法。此方法将包含2个参数,即双重付款和String licenseNumber
。如果付款高于totalTicketFineOfLicense,那么它将返回一条消息,告诉我已支付了多少票,如果付款高于则更改<{1}}。
所以在这一点上我很困惑如何在我必须编写的第三种方法中激活上述2种方法。哪个会有签名:
totalTicketFineOfLicense
提前谢谢!
答案 0 :(得分:0)
你可以直接在同一个类中调用一个方法,例如这里是编写第三个方法的开始
public double payParkingTickets(double paymentInCAD, String licenseNumber){
final double totalFines = totalTicketFineOfLicense(licenseNumber);
if(totalFines <= paymentInCAD){
...handle what to do if payment is more than the fines...
}
}
答案 1 :(得分:0)
你说你试图使用这两种方法;根据您发布的内容,我不确定您是否需要在payParkingTickets()中调用totalTicketsOfLicense()。
如果您的问题只是从另一种方法调用方法,您可以通过编写&#34; methodName(参数)&#34;在你的代码中,所以在你的情况下像
public double payParkingTickets(double paymentInCAD, String licenseNumber) {
double totalFine = totalTicketFineOfLicense(licenseNumber);
// do something
...
}