我目前正在我的一项作业中尝试一个挑战性问题。现在我已经编写了一个代码,将所有输入值相加,直到输入 [0]。代码是这样的:
do {
results = scanner.nextInt();
value += results;
} while (results != 0);
但是,在尝试编写乘法代码后,我的输出一直为 0。我意识到问题之一是由于我之前将变量 value
设置为 ``` = 0````。因此,我创建了一个新变量,其设置值等于 1。因为任何数字乘以 1,就是那个数字。
经过多次尝试,我编写了这段代码:
int product = 1;
do {
results = scanner.nextInt();
product *= results;
} while (results != 0);
我不明白为什么这段代码不起作用。我正在将 1
乘以输入到循环中的值,所以我不知道输出是如何为零的。
有人可以帮我吗?
答案 0 :(得分:2)
当您输入零时,results
设置为 0
并在您离开 do-while 循环之前乘以 product
。
如果 result = 0
这是一种方法
int product = 1;
while (1){
result = scanner.nextInt();
if(result == 0){
break;
}
product *= result;
}
// print product here
答案 1 :(得分:0)
您乘以结果直到结果为零。任何数字 * 零 = 零。当结果为 0 时,我不应该乘以它。