为了账号安全,请及时绑定邮箱和手机立即绑定

do while 语句问题 万分感谢

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 

为什么?

正在回答

3 回答

你这求得是1--50的奇数之和,   两个结果不同    是因为你的num=num+2;sum=sum+num;的顺序不同,一个先给num赋值,再传给sum,一个先传给sum才给num赋值,你仔细想一下哦

0 回复 有任何疑惑可以回复我~
#1

19901120 提问者

非常感谢!
2016-04-04 回复 有任何疑惑可以回复我~

因为num=1没有加进去

0 回复 有任何疑惑可以回复我~

顺序不同,第一个最后只能sum=sum+49,下一句num+2就成了51了,跳出循环

第二个最后num先+2等于51,sum+=51,再跳出循环,所以第二个结果多了50

1 回复 有任何疑惑可以回复我~
#1

qq_一米阳光_45

应该是多了51啊?为什么只多了50.我不是很明白,求解答。
2016-04-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

do while 语句问题 万分感谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信