计算两个整数之和(java)

时间:2017-04-24 20:08:51

标签: java

我做错了什么?我真的不确定还有什么可以尝试或我的错误在哪里。谢谢你的帮助。它应该计算两个数字之间的整数之和,例如 3 6 之间 3 + 4 + 5 + 6

import java.util.Scanner;
public class TheSumBetweenTwoNumbers {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);

        System.out.println("First:");
        int n = Integer.parseInt(reader.nextLine());

        System.out.println("Second:");
        int max = Integer.parseInt(reader.nextLine());

        int sum = 0;
        int i = 0;
        int difference  = max - n;

        while (i < difference) {
            sum = n + (n + 1);
            n++;
            i++;

        }

        System.out.println("Sum is " + sum);            
    }
}

5 个答案:

答案 0 :(得分:1)

为什么这一切只需要一段代码:

public static void main(String args[]) {
    int min = 3, max = 6, sum = 0;
    for (int i = min; i <= max; i++) {
        sum += i;
    }
    System.out.println(sum);
}

使用while循环时应该是:

...
int i = min;
while (i <= max) {
    sum += i;
    i++;
}
...

答案 1 :(得分:0)

您无需找到difference并循环播放,只需运行从nmax的循环即可。此外,您需要将值添加到sum+=),而不是为其分配值(=,这会覆盖以前的值)

试试这个:

int i = n;

while (i <= max) {
    sum += i;
    i++;
}

答案 2 :(得分:0)

您使用最新的sum覆盖之前的n + (n + 1)值,而不是累积之前的总和。此外,您的循环是一个迭代短。试试这个:

int sum = 0;
for (int i = n; i <= max; i++) {
    sum += i;
}
System.out.println("Sum is " + sum);

答案 3 :(得分:0)

更改此代码段

int sum = 0;
int i = 0;
int difference  = max - n;

while (i < difference) {
    sum = n + (n + 1);
    n++;
    i++;

}

int sum = 0;
int i = n;

while (i <= max) {
    sum = sum + i;
    i++;
}

答案 4 :(得分:0)

你让它有点过于复杂。您真正需要的是一个从nmax的for循环,它会增加递增变量:

int sum = 0;
for(int i = n; i <= max; i++){
    sum += i;
}