这个while循环错哪了?
int sum = 0; // 保存累加值
int i = 1;
while (i <= 10){
if (i %2 != 0){
continue;
}
sum = sum + i;
i++;
}
System.out.println("1到10之间的所有偶数之和为:" + sum);
int sum = 0; // 保存累加值
int i = 1;
while (i <= 10){
if (i %2 != 0){
continue;
}
sum = sum + i;
i++;
}
System.out.println("1到10之间的所有偶数之和为:" + sum);
2016-04-12
你设置的 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);
举报