慕圣9147075
2017-07-05 17:31
public class HelloWorld {
public static void main(String[] args) {
int sum=0;
int i=1;
while(i<=10){
i++;
sum=sum+i;
if(sum>20){
System.out.println(sum);
break;
}
} }
}
为啥用while,得出的结果是27,
用下面这个for得出的结果是21
public class HelloWorld {
public static void main(String[] args) {
// 保存累加值
int sum = 0;
// 从1循环到10
for (int i = 1; i <= 10; i++) {
// 每次循环时累加求和
sum = sum + i;
// 判断累加值是否大于20,如果满足条件则退出循环
if ( sum>20 ) {
System.out.print("当前的累加值为:" + sum);
//退出循环
break;
}
}
}
}
同学你好,你这个while循环内不应该先i++,因为你初始值i=1并没有加上,把 sum=sum+i;和 i++;换位子就好了。
把 sum=sum+i;和 i++;换位子就好了,你这样写的话,i要先执行自增的,并不是你要的1累加到10,而是从2累加到10,累加值大于20结束
把 sum=sum+i;和 i++;换位子就好了。其实你不换位置把int i=1改成int i=0 也可以
因为你的while循环第一次sum=0+2;后面就会不正确,不信你可以调试一下。
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题