纪元SpaceX
2016-04-12 22:30
int sum = 0; // 保存累加值
int i = 1;
while (i <= 10){
if (i %2 != 0){
continue;
}
sum = sum + i;
i++;
}
System.out.println("1到10之间的所有偶数之和为:" + sum);
你设置的 i 的初始值是 1
进入while循环时, 判断 i<=10, 为真, 所以开始循环
然后问题出在这个if, 你假设的是如果 i 对 2 求余不为 0, 则下面循环语句都不执行, 又开始判断while(i<=10)
这就造成了 i 一直是 1, 进入while, 然后判断 if, 然后 continue, 然后又进入while...
其实改变很简单, 只要把 i 的递增放在前面就行了
如这样: (注意 i 从 0 开始循环, 先加 1, 再判断是奇偶, 是偶数则加到 sum 里面去)
int sum = 0; // 保存累加值
int i = 0;
while (i <= 10) {
i++;
if (i % 2 != 0) {
continue;
}
sum = sum + i;
}
System.out.println("1到10之间的所有偶数之和为:" + sum);
感谢你们的帮助
int sum = 0; // 保存累加值
int i = 1;
while (i <= 10){
if (i %2 != 0){
i++;
continue;
}
i++;
sum = sum + i;
}
System.out.println("1到10之间的所有偶数之和为:" + sum);
一直死循环了,问题出在 if (i%2 != 0) 不信你加断点试试,i 的值一直是1,没有自加操作
在if中应加一句"i++",不然会造成死循环。
if (i %2 !== 0)//=为赋值运算,==才是判断
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题