2013-05-15 69 views
0

如何使陣列中的一個位置等於一個新對象?使陣列中的一個位置等於一個新對象

public SalesItem findItem(String itemCode){ 

    SalesItem[] item = new SalesItem(); 
    for (int i=0; i<size; i++) { 

     if(itemCode.equals(items[i].getItemCode())){ 
      if(items[i].getQuantity() > 0) { 
       item = items[i]; 
       items[i].setQuantity(items[i].getQuantity()-1); 
      } 
    } 
return item; 
} 

我試圖找到數組中的位置包含字符串「itemCode」,然後使用數組的那個位置,使其等於我已經聲明瞭新的項目,這樣我可以再返回要添加到購物籃的新項目。

我知道我沒有對SalesItem對象做正確的事情,但我不知道是什麼。

+0

爲了更快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –

+0

此代碼缺少部件,並且還有明顯的編譯錯誤... – darijan

+0

這裏的尺寸是什麼 – PSR

回答

3

你聲明SalesItems,而不是一個對象的數組,這樣的item申報大概應該是這樣的:

SalesItem item = new SalesItem(); 

編輯:您可能還需要徹底刪除的新對象的創建,因爲在item被賦值爲items[i]之後它將不會被使用。因此,只要聲明它是這樣的:

SalesItem item = null; 

item = items[i]後,item將包含你正在尋找數組中的對象的引用,或爲null,如果它沒有被發現。

0

假設你的代碼的其他部分是正確的(如getQuantity()SalesItemsetQuantity()),我能看到的唯一錯誤是這樣的:

SalesItem[] item = new SalesItem(); 

我覺得你只是想這樣做:

SalesItem item = null; 

這樣findItem()將返回null如果沒有項目匹配itemCode你正在尋找。

相關問題