【发布时间】:2021-10-13 02:18:47
【问题描述】:
我有一个必须回答的课堂问题。
编写一个读取整数并计算其总和的 do 循环。连续两次读取零或相同值时停止。例如,如果输入为 1 2 3 4 4,则总和为 14,循环停止。作为另一个例子,如果输入是 4 5 1 0,那么总和是 10 并且循环停止。 >
正确的代码是这样的。
public static void integerCompute() {
Scanner numberScanner = new Scanner(System.in);
int x = 0; // Variable to keep track of user input
int sum = 0; // Variable to keep track of sum
int before; // Variable to check previously entered number
do {
before = x;
System.out.println("Enter a number: ");
x = numberScanner.nextInt(); // What does this do?
sum += x;
} while (x != 0 && before != x);
System.out.println("Sum is: " + sum);
}
在这个循环中,x = numberScanner.nextInt() 指令做了什么?
【问题讨论】:
-
这个
next.Int()函数是从您的输入中返回整数值。 -
它会在流中留下一个悬空的新行,如果没有被消耗,如果你再次尝试使用
nextInt会导致异常 -
它等待用户输入并按回车键,然后从他们输入的任何内容中返回下一个整数。如果他们输入了多个用空格分隔的整数,那么这些数字将依次提取无需输入即可循环。如果输入流中没有 int 等待,它只会等待 enter 被按下。