我做错了什么?我真的不确定还有什么可以尝试或我的错误在哪里。谢谢你的帮助。它应该计算两个数字之间的整数之和,例如 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);
}
}
答案 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
并循环播放,只需运行从n
到max
的循环即可。此外,您需要将值添加到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)
你让它有点过于复杂。您真正需要的是一个从n
到max
的for循环,它会增加递增变量:
int sum = 0;
for(int i = n; i <= max; i++){
sum += i;
}