问答详情
源自:4-8 Java循环语句之 do...while

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 

为什么?

提问者:19901120 2016-03-31 02:25

个回答

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

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

  • 玄鉴
    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