这样为什么不可以呢?~

来源:4-9 Java循环语句之 for

_凡人

2015-06-19 20:36

http://img.mukewang.com/55840cab0001750308690415.jpg?~~~~

 

写回答 关注

3回答

  • 丶小八戒
    2015-06-19 22:28:36
    已采纳

    你的代码和执行结果是对应的,没有什么问题。

    (1)第一次循环 i = 1;i % 3 != 0 && i <= 100 条件成立。

    所以先输出 sum = 0;

    然后再 执行 i++,sum = sum + i 操作;(i++导致 i 变为2,sum = sum + i 导致 sum 变为 2)

    (2)第二次循环 i = 2;i % 3 != 0 && i <= 100 条件成立。

    所以先输出sum = 2;

    (3)第三次循环 i = 3;i % 3 != 0 && i <= 100 条件不成立,退出循环。


    这里的问题是:你编写的代码逻辑有错误。你应该把  i % 3 != 0 条件放到循环体内去判断,同时把sum叠加操作放到循环体内执行。


    如:

    int sum = 0;

    for(int i = 1; i <= 100; i++){

        if(i % 3 != 0){

            sum = sum + i;

            System.out.println("i:" + i);

            System.out.println("sum:" + sum);

        }

    }


    _凡人

    非常感谢!

    2015-06-20 15:12:11

    共 1 条回复 >

  • 本地通行
    2015-06-19 22:27:48

    应该把 print 放在 for 循环的外层

  • chavin
    2015-06-19 21:12:33

    你的 代码不能写规范一点吗?

    chavin 回复_凡人

    格式不规范;还有sum = sum + i为什么要写在那里呢?

    2015-06-19 21:52:45

    共 2 条回复 >

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

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

1165172 学习 · 17581 问题

查看课程

相似问题