2012-12-07 99 views
1

我想從同一個類中的另一個方法調用方法來檢查用戶輸入的內容是否在arrayList中。如果它在arrayList中,我想爲其數量加1。如果它不在arrayList中,我將它添加到arrayList。下面是我有:如何用Java中的另一種方法調用方法(同一類)

public Item searchForItem(String n){ 
    for(int i = 0; i < s.size(); i++){ 
    Item y = s.get(i); 
    if(y.getName().equals(name)){ 
     return y;  
    } 
    } 
    return null; 
} 
public void addItem(Item f) { 
    s.add(f);  
} 

我知道我需要一個if語句在addItem的方法,但我不知道怎麼寫。

有沒有辦法檢查是否返回了y或返回了null

回答

0

只需調用searchForItem方法傳遞名稱作爲參數即可。

public void addItem(Item f) { 
if(searchForItem(f.getName())==null) { 
    s.add(f); // add's the item only if searchForItem returns null 
} 
} 
0

使用簡單的代碼在foreach語法,並嘗試這樣的事:

public Item searchForItem(String name){ 
    for(Item y : s) { 
    if(y.getName().equals(name)){ 
     return y;  
    } 
    } 
    s.add(new Item(name)); 
    return null; 
} 
0

使用HashMap!它將有O(1)的訪問時間,這樣你就不必迭代數組列表。使用containsKey方法檢查元素是否在地圖中,並使用get方法獲取它。

相關問題