我正在计算两个边界之间的总和(使用增量),但我没有得到适当的输出:
示例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
答案 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
循环在每次迭代后打印增量总和,你应该看到这种行为。