2014-02-24 57 views
-1

我需要過濾的客戶信息列表,並打印我們的人的名單的65按年齡過濾數組列表?

我創建了一個方法,第一,看起來像這樣歲以上...

public static boolean eligibleForRetirement(int age) { 
     if (age >= 65) { 
      return true; 
     } else { 
     return false; 
     } 
    } 

而另一種方法打印出列表

public static void menuOptionThree(){ 
     ArrayList<Customer> list = generateFromFile("Week3ProgrammingDataUpdate.csv"); 
     ArrayList<Customer> customersOver65 = new ArrayList<Customer>(); 
      Customer.eligibleForRetirement(0).add(customersOver65); 
      System.out.println(customersOver65); 
     } 

但這是行不通的。我得到一個錯誤,說「不能調用基本類型布爾的add(ArrayList)」。

+0

它應該如何工作,如果它甚至不編譯...你試圖擺脫編譯錯誤? –

+2

請編輯您的*第一個*問題,而不是創建一個新問題。 –

+0

我不認爲這個代碼甚至會編譯,因爲方法eligibleForRetirement()返回一個布爾值,你可以調用add()函數。你究竟想要做什麼? – desperateCoder

回答

0

隨着你的代碼變動的最小值,會是這樣:

public static boolean eligibleForRetirement(Customer c) { 
     if (c.getAge() >= 65) { 
      return true; 
     } else { 
      return false; 
     } 
    } 

//

ArrayList<Customer> list = generateFromFile("Week3ProgrammingDataUpdate.csv"); 
    ArrayList<Customer> customersOver65 = new ArrayList<Customer>(); 
    for(Custumer customer: list){ 
     if (Customer.eligibleForRetirement(customer)){ 
     customersOver65.add(customer); 

    } 
    System.out.println(customersOver65); 
} 
0

您沒有添加到無論是的ArrayList的。事實上,你的代碼試圖將一個ArrayList添加到你的Customers類中的一個方法中。