java - 为什么我的 Java for 循环不会在循环外设置变量?

标签 java variables for-loop return-value

好吧,我正在使用 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/

相关文章:

java - 如何测试JavaMailSender?

java - EasyMock:提供你在编译时不知道的参数

java - 使用 for 循环从任意大小的列表中获取多个 WebElement

php - 为 mysql 创建一个 php 变量

c++ - cout 不在 for 循环外执行

c++ - For 循环在 Iterator-For-Loop 中

java - 飞天br301蓝牙读卡器停止工作

java - 在抽象 Java 类中使用泛型类型声明

javascript - 在 JavaScript 中初始化变量有什么好处?

r - 将变量定义为范围