循环内部的变量不与外部连接

时间:2016-04-20 20:33:29

标签: java variables for-loop

如何使overHalfSum整数与每个for循环相加?请注意,编译器警告我不使用overHalfSum。

    int overHalfSum=0;

    for (int i=0;i<20;i++){
        if (sensorPol[i].getCo()>0.5){
            overHalfSum += 1;
        }
    }
    for (int i=0;i<20;i++){
        if (sensorTemp[i].getMax()>0.5){
            overHalfSum += 1;
        }
    }   
    for (int i=0;i<10;i++){
        if (camera[i].getLoad()>0.5){
            overHalfSum += 1;
        }

2 个答案:

答案 0 :(得分:1)

您递增变量,但从不读取其值。代码相当于:

int overHalfSum=0;

for (int i=0;i<20;i++){
    sensorPol[i].getCo();
}
for (int i=0;i<20;i++){
    sensorTemp[i].getMax();
}   
for (int i=0;i<10;i++){
    camera[i].getLoad();
}

for循环中的sensorPol[i].getCo();循环中的调用也可以删除,如果它们没有副作用的话。)

您需要实际读取变量的值才能使用&#34;使用&#34;,例如在问题中的逻辑之后添加:

System.out.println(overHalfSum);

答案 1 :(得分:0)

编译器说您没有使用该变量,因为在您提供的剪切中,您只需为变量赋值并更改该值。 你永远不会在函数或其他变量中使用它。

更好地检查条件是否得到满足。

也许尝试添加一个System.out.writeln('将1添加到overHalfSum')以查看它是否像您希望它一样工作。

if (sensorPol[i].getCo()>0.5){
    overHalfSum += 1;
    System.out.writeln('added 1 to overHalfSum');
}