2013-10-30 49 views
-1

我擊中了一個路障,並且在我的工作中遇到了一個問題。在ArrayList中添加項目的值

這裏有一個問題:

提供程序中的getLoad方法加起來的 中的項目列表中的項目的各個權重,並返回總的實現。

的項目清單:

ArrayList<Item> items; 

香港專業教育學院做了我認爲是正確的,但由於某種原因,它不工作。

對什麼是錯誤的任何幫助,或者如果我在做什麼是錯誤的?謝謝

@Override 
public int getLoad() { 
    int load = 0; //declare the variable 

    for (Item i : items) { // for each item in the list of items 
     load = load + i.getWeight() ; // load equals the weight of the item and adds on 
    } 
    return load; //returns it 
} 
+9

它是如何「不工作」?你有錯誤的輸出?要分享的異常消息或編譯器錯誤? – rgettman

+3

我們將永遠想知道您的「不工作」是什麼意思。 – pamphlet

+0

這看起來對我來說很合適。它怎麼不起作用?如果出現錯誤的結果,我的第一個猜測是檢查Item對象是否返回了getWeight的正確值() – kviiri

回答

0

我可以看到出錯的一件事是如果getWeight()返回一個雙。在這種情況下,你應該讓int loaddouble load代替

+0

這是一個很好的觀點,但在這一點上,我們只使用像10,20和15這樣的整數值。但是感謝輸入 –

+2

在這種情況下,你的代碼包含的信息太少。如果您需要更多幫助,請提供更多代碼。 –

0

隨着您所提供的信息有限,這個問題是任我只能採取一種野生的猜測:

  1. 列表items是空的,甚至儘管它不應該。確保項目實際上被添加到列表中!使用調試器或打印的消息來確定getLoad()上的項目列表是否爲空。
  2. 重量爲每Item分配不正確,所以getWeight()回報爲他們每個人的爲零。確保每個添加到列表中的Item實際上都被分配了合適的權重。

發佈更多的代碼,將有助於我們提供一個更好的答案。