使用if语句来比较多个对象java

时间:2017-03-08 05:38:45

标签: java

我使用驾驶执照为汽车租赁类发放汽车,并使用汽车类型作为我的方法的输入参数。当我使用界面时,我必须根据驾驶员的年龄和他们获得驾照的时间来发放大小型车。例如:对于一辆大型车,他需要至少23岁,并有4年的驾驶经验。我被困在如何检查司机将被发出的汽车类型和随后的年龄检查。我的代码有点乱,但我真的可以使用一些帮助,因为我无法在逻辑上推进。下面是我的方法。

public CarInterface issueCar(DrivingLicence aLicence, CarType typeOfCar) {
    final boolean isLicenceFull = drivingLicence.getLicenceStatus();

     final Optional<CarInterface> optionalCar = availableCars.stream()
           .filter(car -> typeOfCar == car.getType())
           .findAny();

     final CarInterface car = optionalCar.orElseThrow(() -> new RuntimeException("All cars of type " + typeOfCar + " have been rented"));
        if(aLicence.getLicenceStatus() ==true){
            if(!rentals.containsKey(aLicence)){
                if(typeOfCar.equals(optionalCar)){


                }
            }
        }

2 个答案:

答案 0 :(得分:0)

您可以使用delete this.element.titleif来完成此操作。

else

如果......其他如果......其他声明

  

if语句之后可以跟一个else else if ... else   声明,这对于使用测试各种条件非常有用   单个if ... else if语句。

     

当使用if ... else if..else语句时,有几点要保留   记住 -

     

一个if可以有零个或一个其他的,它必须在任何其他之后   如果的。

     

if if可能有零到多个,如果是,他们必须在之前   其他

     

如果其他成功,如果成功则没有剩下的其他如果是或者其他   将进行测试。

答案 1 :(得分:0)

如果两种条件适用,你只会发一辆大车,那么你需要这样的东西:

 if(driver.getAge() > 23 && license.getPeriod() > 4) {
     // issue a big car
 } else {
    // issue a small car
 }