2011-12-19 6 views
1

2つのメソッドは、boolean onLoanをcarという名前の2番目のクラスのcarから適用できるようにする必要があります。つまり、onLoan == falseを考慮する必要がある車だけです。 。私は彼らの基盤になって、これを解決することについて私の心に何が来たのか試してみましたが、私にとっては何も現時点でいくつかの提案をしているようです。ありがとうございました!Arraylist検索と表示オブジェクトメソッドの混乱

/** 
* Constructor for objects of class RentalCompany 
*/ 
public void showAllCarsNotOnloan() 
{ 
    for (Car car:cars) { 

    if (cars.size()>0) { 

     int i = 0; 
     System.out.println(car.getDescription()); 
     i++; 

    } 
    else if (cars.size() < 0){ 
     System.out.println ("Add cars first"); 
    } 
    } 
} 

と、次の作業を行います

public Car searchCar(String description) 
{ 
    for (Car car : cars) { 
     if (car.getDescription() == description) { 
      return car; 
     } 
     else { 
      System.out.println("This car is not listed. Retry!!"); 
     } 
    } 
    return null; 
} 
+0

注意。ループの内部にいる場合は、リストを空にすることはできません。 –

+1

文字列の比較には、 '=='ではなく '.equals'が必要です。 'car.getDescription()== description'です。 –

+0

あなたは何をしようとしていて何がうまくいかないのですか? –

答えて

0

第二の方法:

Carクラス:今

public class Car { 
    private boolean onLoan; 
    // Other variables... 

    public boolean isOnLoan() { 
     return onLoan; 
    } 
    // Other methods.... 
} 

showAllCarsNotOnloan方法

public void showAllCarsNotOnloan() { 
    if (cars.size() == 0) { 
     System.out.println("Add cars first!"); 
     return; 
    } 

    for (Car car : cars) { 
     if (!car.isOnLoan()) { 
      System.out.println(car.getDescription()); 
     } 
    } 
} 

と第一の方法では、リストを反復処理ループ内の車のリストのサイズを検査していることをsearchCar方法

public Car searchCar(String description) { 
    for (Car car : cars) { 
     if (car.getDescription().equals(description)) { 
      return car; 
     } 
    } 

    System.out.println("This car not listed. Retry!!"); 
    return null; 
} 
+0

私はそれを念頭に置いていましたが、それは私が車のクラスにパブリックメソッドを追加する必要があることを意味しますが、その考えは車のクラスで何も変更しないことでした。それはメソッドを追加するほうがずっと簡単ですが、他の方法がありますか?検索方法では、onloan == falseの車だけを探す必要があるため、onLoanの車は考慮されません。あなたのコメントやお手伝いをありがとうございます! – user1102815

関連する問題