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

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

這段代碼邏輯上哪里不對?

public static void main(String[] args) {
?? ??? ??? ?int sum = 0; // 保存不能被3整除的數之和
?? ??? ??? ?
?? ??? ??? ?// 循環變量 i 初始值為 1 ,每執行一次對變量加 1,只要小于等于 100 就重復執行循環
?? ??? ??? ?for (int i = 1; i <= 100 && i % 3 != 0? ;i++ ) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?// 變量 i 與 3 進行求模(取余),如果不等于 0 ,則表示不能被 3 整除
?? ??? ??? ??? ?//if (i % 3 != 0) {
?? ??? ??? ??? ??? ?sum = sum + i; // 累加求和
?? ??? ??? ??? ?//}
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?System.out.println("1到100之間不能被3整除的數之和為:" + sum);
?? ??? ?}

正在回答

5 回答

當 i = 3 的時候,不滿足 ?i <= 100 && i % 3 != 0?的條件,for循環結束 ,只計算了 1 和 2 ,結果為 3

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

會進化的小菜鳥 提問者

i=3不是滿足i<=100并且同時滿足i%3 != 0么?大神,煩請說詳細點哈,謝謝~~
2015-12-09 回復 有任何疑惑可以回復我~
#2

lovemybabyxuan 回復 會進化的小菜鳥 提問者

i=3的時候,i整除3不就等于0了嘛,前半句滿足后半句不滿足
2015-12-09 回復 有任何疑惑可以回復我~

我想明白了,謝謝大家,這根本就是兩個不同目的循環條件,一個是用來判斷i<=100;另一個是用來求能被3整除的數字,當i=3時,3/3=1余數為0,不滿足0!=0這個表達式,所以在i=3時就已經終止了for循環!

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

問題出在這一句 ?

i <= 100 && i % 3 != 0

前半句是布爾型,后半句是int型,類型不對,應該把后半句再寫一個if循環判斷

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

會進化的小菜鳥 提問者

那為什么在if語句里面又可以用:i % 3 != 0作為判斷條件?
2015-12-09 回復 有任何疑惑可以回復我~
#2

lovemybabyxuan 回復 會進化的小菜鳥 提問者

是我的疏忽,前面的回答是錯的,沒考慮全面,第一位回答的就很對
2015-12-09 回復 有任何疑惑可以回復我~

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

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

for循環括號第二段把i%3!=0刪掉,這部分是進入循環的條件,一旦是false就結束循環執行了

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

舉報

0/150
提交
取消

這段代碼邏輯上哪里不對?

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

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

幫助反饋 APP下載

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

公眾號

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