19901120
2016-03-31 02:25
public class XiaoYang {
public static void main(String[] args) {
int sum=0;
int num=1;
do{
sum=sum+num;
num=num+2;
}
while(num<=50);
System.out.println(sum);
}
}
这个结果是625
public class XiaoYang {
public static void main(String[] args) {
int sum=0;
int num=1;
do{
num=num+2;
sum=sum+num;
}
while(num<=50);
System.out.println(sum);
}
}
这个是675
为什么?
你这求得是1--50的奇数之和, 两个结果不同 是因为你的num=num+2;sum=sum+num;的顺序不同,一个先给num赋值,再传给sum,一个先传给sum才给num赋值,你仔细想一下哦
因为num=1没有加进去
顺序不同,第一个最后只能sum=sum+49,下一句num+2就成了51了,跳出循环
第二个最后num先+2等于51,sum+=51,再跳出循环,所以第二个结果多了50
Java入门第一季(IDEA工具)升级版
1165498 学习 · 17585 问题
相似问题