我无法弄清楚为什么这不会执行。有任何想法吗?我的语法错了或者我没有正确初始化计数吗?
以下是代码:
int product = 0, count=0;
while (product < 2500){
product *= 5;
count++;
}
System.out.println(product);
答案 0 :(得分:4)
product = 0
然后你将它乘以5
product *= 5;
0 times 5 is still 0
所以
while (product < 2500){
永远是真的。考虑设置
product = 1
最初使其长度足以退出while循环并在某个时刻打印。
答案 1 :(得分:1)
product = 0;
//您正在使用值= 0初始化您的产品变量;
然后你继续将乘积乘以5,这将只为零,所以虽然循环不会很困难。
因此初始化产品具有一些正值。
答案 2 :(得分:0)
这是无限循环。
int product = 0, count=0;
while (product < 2500){
product = 0 * 5; // product is always 0;
}
答案 3 :(得分:0)
上面的代码看起来有一个逻辑错误。它永远不会停止,因为产品值永远不会大于0,因此它永远不会退出循环。
如果您想在每次成倍增加时打印产品,请在循环中添加产品打印输出行:
`while (product < 2500){
product *= 5;
count+= 1;
System.out.println(product);
}`
请记住,上面的代码永远不会打印任何零,因为产品永远不会被更改,因为X * 0 = 0.希望这是有意义的!快乐的编码!