我是Java的初学者,有人可以解释一下总数是11。
问题 - 用户已准备好逐个输入这些数字,直到程序停止: 4 7 5 8 9 3 4 1 5 3 5
什么显示为总数?
int number;
int total = 0;
System.out.print("Enter a number");
number = input.nextInt();
while (number != 1)
{
if (number < 5) total = total + number;
System.out.print("Enter a number");
number = input.nextInt();
}
System.out.println(total);
答案 0 :(得分:0)
你的while循环将一直运行,直到输入为1。
while (number != 1)
在while循环中你有一个if子句,当输入的数字小于5时,它会将你的输入添加到总数
if (number < 5) total = total + number;
这就是为什么只增加4,3,4和总= 11
的原因答案 1 :(得分:0)
您正在输入4 7 5 8 9 3 4 1 5 3 5
以下代码仅允许4 7 5 8 9 3 4
被接受,因为在输入1
时它会从循环中断。
while (number != 1)
{
...
}
以下代码中的更多内容仅添加4 3 4
,因为数字应小于5
if (number < 5) total = total + number;
因此你得到4 + 3 + 4 = 11
答案 2 :(得分:0)
while循环将一直运行直到用户输入1。 如果输入的数字小于5,则数字将总结。 因此,根据用户输入的内容,它将是4 + 3 + 4 = 11.在1时,while循环将退出。
答案 3 :(得分:0)
int number;
int total = 0;
System.out.print("Enter a number");
number = input.nextInt();
while (number != 1)
{
if (number < 5) total = total + number;
// only adds 4 3 4 because number should be less than 5
System.out.print("Enter a number");
number = input.nextInt();
}
System.out.println(total);
// Because of that you can: 4+3+4 = 11
答案 4 :(得分:0)
您的输入是 4 7 5 8 9 3 4 1 5 3 5
下面给出了带有注释解释的代码段:
int number;
int total = 0;
System.out.print("Enter a number");
number = input.nextInt(); // your first input number ie. 4 is taken as input
while (number != 1) // while starts because 4 > 1
{
if (number < 5) total = total + number;
System.out.print("Enter a number");
number = input.nextInt();
/* in while loop only 4,3,4 will be added to the total because you have **if (number < 5) total = total + number;** loop will break after taking input 1 because of **while (number != 1)**. At that time total will be equal to 11. */
}
System.out.println(total); // outside loop value of total = 11 will be printed
答案 5 :(得分:0)
我将逐步解释。
步骤1:
您已声明了两个整数变量。一个用于保持输入,另一个用于在计算后保持总值。整数total
初始化为0.代码的以下部分是这样做的:
int number;
int total = 0;
步骤2:
现在您正在提供输入值。然后输入值进入while循环。除非输入值 1 ,否则while循环将继续执行。您的第一个输入是 4 ,4!= 1,因此,它进入循环。
System.out.print("Enter a number");
number = input.nextInt();
while (number != 1)
{
步骤3:
现在,在你的循环中,你要检查你的输入值是否小于5。 如果小于5,则total
值将增加到total + number
。 Else ,total
保持不变。无论if条件如何,只要不是1,系统就会继续提示您提供number
输入。以下代码执行此操作:
if (number < 5) total = total + number;
System.out.print("Enter a number");
number = input.nextInt();
}
在这种情况下,您的输入序列为 4 7 5 8 9 3 4 1 5 3 5 。
对于第一输入 4 ,4&lt; 5,true
,total = 0 + 4 = 4
。下一个输入是 7 ,7&lt; 5为false
,因此total
保持为4,输入 5 至 9 也是如此。当您的输入 3 时,3&lt; 5是true
,所以total = 4 + 3 = 7
。然后输入 4 ,4&lt; 5再次为true
,因此total = 7 + 4 = 11
正如我们已经看到的那样,只要输入 1 ,上述while循环就会终止。您的下一个输入是 1 ,因此循环将终止,您无法再输入任何数字,并且您的最终总值仍为 11 。
步骤4:
在循环之外,您将打印total
的值,因此会显示11。
System.out.println(total);
<强> P.S。强>
如果您了解我的解决方案,那么您的下一个任务就是使用for loop
执行完全相同的操作。