6 回答
TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超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貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超6個贊
基本功太差
for的第2個條件只要失敗則for就停止運(yùn)行了
so 當(dāng)ima=3時(shí)循環(huán)體就結(jié)束了
而且你要求的是"和"
而不是每次的sum
TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超1個贊
ima%3!=0&&ima<100 這個條件,在ima=3的時(shí)候 ima%3 為false, 與ima<100并集,也是false。false,就for循環(huán)就結(jié)束。
?
TA貢獻(xiàn)8條經(jīng)驗(yàn) 獲得超0個贊
出問題的主要原因是,for循環(huán)中的第二項(xiàng),ima % 3 != 0
一旦ima % 3 != 0不成立,就比如ima等于的時(shí)候,這個時(shí)候,(ima%3!=0&&ima<100)這項(xiàng)就是false,for循環(huán)中的第二項(xiàng)一旦為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);
}但是,非常不建議你寫成這樣,因?yàn)檫@樣的代碼可讀性太差,別人維護(hù)起來很困難。
TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個贊
for(int a=1,b=0;a*3<100;b+=a*3,a++){
System.out.println(b);
}
TA貢獻(xiàn)7條經(jīng)驗(yàn) 獲得超1個贊
int sum = 0;
for (int j = 1; j < 100; j++) {
if(j%3!=0){
sum = sum + j;
}
}
System.out.println("sum = "+ sum);
添加回答
舉報(bào)
