问答详情
源自:4-9 Java循环语句之 for

计算1到100之间不能被3整除的数之和 为什么我用while循环输出的答案不对

public class HelloWorld {

    public static void main(String[] args) {

int sum = 0; 

        int i = 0;

        while(i<=100){

            i++;

            if(i%3!=0){

                sum=sum+i;

            }

        }

        System.out.println("1到100之间不能被3整除的数之和为:"+sum);

    }

}


提问者:慕粉3345685 2016-05-19 22:12

个回答

  • 白开水1995
    2016-05-19 22:16:20
    已采纳

    public class HelloWorld {

        public static void main(String[] args) {

    int sum = 0; 

            int i = 0;

            while(i<=100){

                if(i%3!=0){

                    sum=sum+i;

                }

            i++;

            }

            System.out.println("1到100之间不能被3整除的数之和为:"+sum);

        }

    }


  • 慕粉2102015643
    2016-12-26 03:49:05

    应该是多了101

    排成数列来看,为方便体现结果,暂不考虑(i%3!=0)这个条件:

    i++放在if后面是:0,1,2,3,。。。。。。99,100

          i++放在if前面是:1,2,3,。。。。。。。。100,101

    所以,最后是多了101

  • xing3384867
    2016-05-19 22:50:40

    i++应该放while外面的,如果放里面的话,while里面要改为(i<100),不然就加多了一个101。