使用while循环在程序中输入数字

时间:2014-12-02 05:11:54

标签: java if-statement input while-loop

我是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);

6 个答案:

答案 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,truetotal = 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执行完全相同的操作。