亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這樣寫結果會變成三呢?

for (int i = 1; i<=100;i++) {

if (i % 3 != 0) {?

sum = sum + i; // 累加求和

}}

System.out.println("1到100之間不能被3整除的數之和為:" + sum);

這樣寫答案是正確的,但是如果將i區域放到for中(下面那樣),為什么答案就變成3了呢?

int sum = 0;?

for (int i = 1; i<=100&&i%3!=0;i++) {

????sum = sum + i; // 累加求和

}

System.out.println("1到100之間不能被3整除的數之和為:" + sum);


正在回答

4 回答

當 i = 3;

即不滿足執行條件,i % 3!=0這個條件時。

代碼結束,跳出循環,所以sum的值為1+2=3http://img1.sycdn.imooc.com//58bcf05d0001954017540847.jpg

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

你沒有理清楚for循環的執行過程吧,拿你第二個for循環來說,中間的i<=100&&i%3!=0是循環條件,一旦不滿足就會終止循環,這個循環與上面那個的區別也就是多了一個i%3!=0,很明顯的,當i遞增到3的時候,就不能滿足循環條件了,所以sum只會做兩次自增,分別+1, +2。

2 回復 有任何疑惑可以回復我~

i<=100&&i%3!=0?? i=3的時候? i%3=0條件不滿足,自動退出循環。

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

不用解答啦~找到毛病了。


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

ziom

求采納求采納
2017-03-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么這樣寫結果會變成三呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號