为什么输入的数字不会加到程序结束时的总和上?
int data;
int sum = 0;
int count =0;
do {
System.out.print("Please enter a number: ");
data = input.nextInt();
count++;
}
while (count < 10);
while (sum !=0)
break;
System.out.println("The total is " + sum);
}
}
答案 0 :(得分:1)
让我们整理一下 并且在计数++之后;我添加了一行来总结你的价值,例如sum + = data;
int data;
int sum = 0;
int count =0;
do {
System.out.print("Please enter a number: ");
data = input.nextInt();
count++;
sum += data; // new line here to sum value
} while (count < 10);
System.out.println("The total is " + sum);
答案 1 :(得分:0)
分解代码,我们可以看到问题所在。
您初始化变量。
int data;
int sum = 0;
int count =0;
这部分看似正确。
然后开始第一个循环以从用户那里获取数据。
do {
System.out.print("Please enter a number: ");
data = input.nextInt();
count++;
}
while (count < 10);
在这里我们看到,每次迭代循环时,我们将变量'data'设置为输入值并递增计数器。循环执行10次。
在我们退出循环的那一点上,变量将设置如下:
data = `last number entered by the user`
sum = 0
count = 10
现在我们来看看最后一个循环。
while (sum !=0)
break;
由于'sum'= 0,我们永远不会进入循环。
最后,我们有了print语句。
System.out.println("The total is " + sum);
由于'sum'= 0,打印的行将显示The total is 0
如果您将第一个循环修改为...
do {
System.out.print("Please enter a number: ");
data = input.nextInt();
sum = sum + data;
count++;
}
while (count < 10);
然后你应该得到输入数据的总和。
此外,你的第二个循环应该被删除,因为即使'sum'不等于0它也会进入循环并立即点击break语句导致它退出循环。