2013-10-30 46 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实际上都被分配了合适的权重。

发布更多的代码,将有助于我们提供一个更好的答案。