2017-03-08 9 views
0

私は運転免許証を使用して車のレンタルクラスの車を発行しています。私はインターフェイスを使用しているので、ドライバの年齢と免許証を持っている時間に応じて、大小の車を発行する必要があります。例:大きな車の場合、少なくとも23歳で、4年の運転経験が必要です。私は運転手が発行される車のタイプとその後の年齢チェックをチェックする方法についていません。私のコードはちょっと面倒ですが、論理的に進めることができないので、私は実際にいくつかの助けを使うことができます。以下は私の方法です。ifステートメントを使用して複数のオブジェクトを比較するjava

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)){ 


       } 
      } 
     } 
+0

はあなたがあれば一つにすべての条件を追加したい、またはあなたがmultipal検証を追加することを意味します一つずつ 。 –

+0

複数の検証を1つずつ行いたい場合 – Jazztheman

+0

これはif elseを使って行うことができます。 –

答えて

0

あなたはifelseを使用してこれを行うことができます。

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)){ 

      }else if(typeOfCar.equals(optionalCar)){ 

      } 
     } 
} 

もし...もし他に... else文

文がテストに非常に有用であるかの他のオプション...他 文が続くことができるならばアン単一のif ... else ifステートメントを使用してさまざまな条件を設定します。ゼロまたは1つ他のを持つことができ、それがいかなる他 のifの後に来なければならない場合

アン -

場合...文if..else他に使用して、心の中で を保つためにいくつかのポイントがあります。

ifは0から多くのifを持つことができ、それらは より前に来なければなりません。

もう一度else ifが成功すると、ifまたはelseの残りのどれもが としてテストされません。

0

両方の条件が、あなたはこのようなものが必要になります適用されます場合にのみ、大きな車を発行する場合:

if(driver.getAge() > 23 && license.getPeriod() > 4) { 
    // issue a big car 
} else { 
    // issue a small car 
} 
関連する問題