do while 语句问题 万分感谢

来源:4-8 Java循环语句之 do...while

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 

为什么?

写回答 关注

3回答

  • 小阏呆
    2016-04-01 12:59:09
    已采纳

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

    199011...

    非常感谢!

    2016-04-04 19:31:25

    共 1 条回复 >

  • 玄鉴
    2016-05-01 01:01:10

    因为num=1没有加进去

  • qq_想飞的绒毛_0
    2016-03-31 07:35:03

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

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

    qq_一米阳...

    应该是多了51啊?为什么只多了50.我不是很明白,求解答。

    2016-04-12 20:45:06

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1163348 学习 · 17551 问题

查看课程

相似问题