使用while循环求和运算

时间:2013-11-13 18:30:09

标签: java loops

我正在计算两个边界之间的总和(使用增量),但我没有得到适当的输出:

示例1:

First: 3
Last: 5
Sum is: 12

示例2:

First: 2
Last: 8
Sum is: 35

以下是我正在使用的代码:

public static void main(String[] args) {
    // TODO code application logic here
    Scanner reader = new Scanner(System.in);
    System.out.print("First: ");
    int x = Integer.parseInt(reader.nextLine());
    System.out.print("Second: ");
    int y = Integer.parseInt(reader.nextLine());
    int i = x;
    int result = 0;

    while (i < y){
        result += i + 1;
        i++;

        System.out.println("Sum is " + result);

输出错误:

First: 3
Second: 5
Sum is: 9

1 个答案:

答案 0 :(得分:1)

您正在有效地跳过添加3

的第一次迭代
result += i + 1;
i++;

在您的3,5个示例i中以3开头,并且由于您的第一次迭代将i+1添加到result,因此您要添加4

在您的上一次迭代中,i将为4,您将4+1添加到result,这就是为什么您的实际结果3小于预期结果

如果我是你,我会像这样建立你的结果

for(int i = x; i<= y; i++)
{
    result += i;
}

*由于你的while循环在每次迭代后打印增量总和,你应该看到这种行为。