为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

3 回答

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

(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);

    }

}


0 回复 有任何疑惑可以回复我~
#1

_凡人 提问者

非常感谢!
2015-06-20 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

_凡人 提问者

我写的不规范吗?~
2015-06-19 回复 有任何疑惑可以回复我~
#2

chavin 回复 _凡人 提问者

格式不规范;还有sum = sum + i为什么要写在那里呢?
2015-06-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165458    人
  • 解答问题       17585    个

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

进入课程

这样为什么不可以呢?~

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信