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

i++在这个位置为什么没结果??

public class HelloWorld {

    public static void main(String[] args) {

    int sum=0;

    int i=1;

    while(i<=100){

        if(i%3 !=0){

            sum=sum+i;

           //如果把i++改放在这个位置,则无输出结果,为什么?

        }i++;

    }

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

}

}


正在回答

2 回答

i在自加到3之后不能再进入到if成立的语句中去,所以i不能再自加,只能总是为3。但此时i还是小于等于100,所以成了一个死循环。

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

慕粉1113228438 提问者

非常感谢!
2017-02-21 回复 有任何疑惑可以回复我~

当i加到3时,i%3=0不符合if里面的条件,所以他就不会执行if里面的程序,也就是说此时i++不会被执行,之后整个程序都不会对i做出改变,导致i一直为3,程序就会卡死在循环里面。你可以用eclipse自己试着一步一步debug看看哪里错了。

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

举报

0/150
提交
取消

i++在这个位置为什么没结果??

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