输出结果怎么不对呢 多了25 哪多出来的

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

weixin_慕无忌8363789

2019-02-27 13:48

public class HelloWorld {

    public static void main(String[] args) {

        

int sum = 0;

        

int i=1;

do{

    if((i++)%2==0){

        sum+=i;

    }

}

while(i<=50);

System.out.println(sum);

}

}


写回答 关注

3回答

  • 慕粉2111218592
    2019-03-10 19:29:34

    你写的代码很有意思,但是你并不知道问题在哪里吧。问题应该出在  i++  ,改成 ++i 应该就可以了。

    慕圣3045...

    int sum=0; int i=1; do{ if((++i)%2==0){ sum+=i; } } while(i<=50); if里面的++i 不止是作为判断条件,每次do循环也都会执行++i 吗?为什么?

    2019-03-27 15:14:57

    共 1 条回复 >

  • weixin_慕无忌8363789
    2019-02-27 14:04:16

    o  知道了  应该这样

    public class HelloWorld {


        public static void main(String[] args) {


            


    int sum = 0;


            


    int i=0;


    do{


        if(i%2==0){


            sum+=i;

            i++;

        }else {

            i++;

    }

    }


    while(i<=50);


    System.out.println(sum);


    }


    }


  • weixin_慕无忌8363789
    2019-02-27 13:49:25

    运行成功了 ,但是结果显示的是675

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

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

1165552 学习 · 17587 问题

查看课程

相似问题