为什么我的增量计算不正确?

时间:2014-02-25 01:00:01

标签: java for-loop increment

我有一个for循环运行,并询问它们的增量编号。但是当它输出表时,它实际上是增量的两倍。因此,如果我为10添加incr,那么它会提高20点。请帮忙吗?

for (double x = fah1; x <= fah2; x+=incr) {
    double cel = 5/9.0 * (x-32);
    if (x <= 99){
        System.out.println(x + "               " + df.format(cel);
        x+= incr;
    }
    else {
        System.out.println(x + "              " + df.format(cel));
        x+=incr;
    }
}

2 个答案:

答案 0 :(得分:9)

每个循环递增两次,一次放在ifelse中,再放在for循环声明的第三个语句的末尾。

删除ifelse中的增量,并依赖for循环声明中的增量。

答案 1 :(得分:4)

您正在递增两次 - 一次在for循环声明中,一次在if-then-else语句中:

尝试将其更改为:

for (double x = fah1; x <= fah2; x+=incr) {
    double cel = 5/9.0 * (x-32);
    if (x <= 99){
        System.out.println(x + "               " + df.format(cel);
        // Remove the increment from here
    }
    else
    {
        System.out.println(x + "              " + df.format(cel));
        // Remove the increment from here
    }
}