好吧,我正在使用 Java,但我很困惑。我有这样的代码
private double computeValue(Warehouse house) {
double price;
int quant;
double value;
for (int i=0; i < house.size(); i++) {
price = house.getItem(i).getPrice();
quant = house.getItem(i).getQuantity();
value += (price*quant);
}
return value;
}
它读取仓库元素的次数,即它的大小,当它读取时,它会得到仓库中的元素、它的价格和数量,并将它们相乘得到值
现在一切都很好,但变量值设置为的数字不会离开循环。它说当我运行它时该值尚未初始化,如果我将它设置为某个随机虚拟数字,它会返回该数字,而不是它应该从价格和数量相乘中得到的结果。任何人都可以告诉我如何解决这个问题,以便变量值从循环中获取一个数字并可以返回它,并且有助于理解它为什么正在做它正在做的事情。谢谢!
编辑:我修复了 house.size() 为 0 的问题,它现在设置为 10 并且仍然返回未初始化值的错误
最佳答案
难道是你的
house.size();
是否返回 0?
您还想获得房子里最后一件元素的值(value)吗?
如果您想获得所有元素的累计值(value)及其价格,您可能应该将您的值(value)分配给:
value = value + (price*quant);
否则它只会返回房子里最后一件元素的值(value)。
关于java - 为什么我的 Java for 循环不会在循环外设置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22212442/