6 回答

TA貢獻361條經(jīng)驗 獲得超328個贊
你這樣寫代碼的可讀性太差了,也容易把自己搞暈。在main函數(shù)里面試一試這樣
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貢獻3條經(jīng)驗 獲得超6個贊
基本功太差
for的第2個條件只要失敗則for就停止運行了
so 當(dāng)ima=3時循環(huán)體就結(jié)束了
而且你要求的是"和"
而不是每次的sum

TA貢獻4條經(jīng)驗 獲得超1個贊
ima%3!=0&&ima<100 這個條件,在ima=3的時候 ima%3 為false, 與ima<100并集,也是false。false,就for循環(huán)就結(jié)束。
?

TA貢獻8條經(jīng)驗 獲得超0個贊
出問題的主要原因是,for循環(huán)中的第二項,ima % 3 != 0
一旦ima % 3 != 0不成立,就比如ima等于的時候,這個時候,(ima%3!=0&&ima<100)這項就是false,for循環(huán)中的第二項一旦為false,就會停止循環(huán),不再繼續(xù),因此應(yīng)該改為
for(int?ima=1,?sum=0;?ima<100;?++ima,?sum=sum+ima){ ????if(ima%3!=0) ????????continue; ????System.out.println(sum); }
但是,非常不建議你寫成這樣,因為這樣的代碼可讀性太差,別人維護起來很困難。

TA貢獻7條經(jīng)驗 獲得超1個贊
int sum = 0;
for (int j = 1; j < 100; j++) {
if(j%3!=0){
sum = sum + j;
}
}
System.out.println("sum = "+ sum);
添加回答
舉報