我目前正在通过赫尔辛基大学关于 Java 的 MOOC 学习 Java,但我被困在关于循环的练习中。
这个练习要求用户输入两个整数来创建一个闭区间。输出应该是这些数字序列的总和。
例如 第一个数字是 3,最后一个数字是 5。总和的结果是 3+4+5=12。 我的问题是在结果中只计算了数字 4 和 5。 这是我的代码:
public class SumOfASequenceTheSequel {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("First number? ");
int first = Integer.valueOf(scanner.nextLine());
System.out.print("Last number? ");
int last = Integer.valueOf(scanner.nextLine());
int n = first;
int sum = 0;
while (n < last) {
n++;
sum += n;
System.out.println(n);
}
System.out.println("The sum is: " + sum);
}
}
我尝试像这样改变变量 n 的值:
int n = first - 1;
这允许 3+4+5=12 的结果,但我认为这只是一个快速修复,并没有真正解决根本问题。有没有办法在循环中包含第一个数字,以便正确显示总和?非常感谢任何额外的解释。