for(int ima=1,sum=0;ima%3!=0&&ima<100;++ima,sum=sum+ima){
System.out.println(sum);
}是哪里出了问题?
6 回答

Its_forever
TA贡献361条经验 获得超328个赞
你这样写代码的可读性太差了,也容易把自己搞晕。在main函数里面试一试这样
int sum=0; for (int i = 1; i <=100; i++) { if(i%3!=0){ System.out.println(i); sum+=i; } } System.out.println(sum);

专注感觉
TA贡献4条经验 获得超1个赞
ima%3!=0&&ima<100 这个条件,在ima=3的时候 ima%3 为false, 与ima<100并集,也是false。false,就for循环就结束。

Davidham3
TA贡献8条经验 获得超0个赞
出问题的主要原因是,for循环中的第二项,ima % 3 != 0
一旦ima % 3 != 0不成立,就比如ima等于的时候,这个时候,(ima%3!=0&&ima<100)这项就是false,for循环中的第二项一旦为false,就会停止循环,不再继续,因此应该改为
for(int ima=1, sum=0; ima<100; ++ima, sum=sum+ima){ if(ima%3!=0) continue; System.out.println(sum); }
但是,非常不建议你写成这样,因为这样的代码可读性太差,别人维护起来很困难。

qq_灰太狼_27
TA贡献7条经验 获得超1个赞
int sum = 0;
for (int j = 1; j < 100; j++) {
if(j%3!=0){
sum = sum + j;
}
}
System.out.println("sum = "+ sum);
添加回答
举报
0/150
提交
取消