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

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

計算1到100之間不能被3整除的數之和 為什么我用while循環輸出的答案不對

public class HelloWorld {

? ? public static void main(String[] args) {

int sum = 0;?

? ? ? ? int i = 0;

? ? ? ? while(i<=100){

? ? ? ? ? ? i++;

? ? ? ? ? ? if(i%3!=0){

? ? ? ? ? ? ? ? sum=sum+i;

? ? ? ? ? ? }

? ? ? ? }

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

? ? }

}


正在回答

3 回答

public class HelloWorld {

? ? public static void main(String[] args) {

int sum = 0;?

? ? ? ? int i = 0;

? ? ? ? while(i<=100){

? ? ? ? ? ? if(i%3!=0){

? ? ? ? ? ? ? ? sum=sum+i;

? ? ? ? ? ? }

? ? ? ? i++;

? ? ? ? }

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

? ? }

}


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

慕粉3345685 提問者

非常感謝!
2016-05-19 回復 有任何疑惑可以回復我~
#2

精慕門1156187

回復 慕粉3345685為什么要加個int sum=0啊不太理解
2022-12-28 回復 有任何疑惑可以回復我~

應該是多了101

排成數列來看,為方便體現結果,暫不考慮(i%3!=0)這個條件:

i++放在if后面是:0,1,2,3,。。。。。。99,100

??? ? i++放在if前面是:1,2,3,。。。。。。。。100,101

所以,最后是多了101

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

i++應該放while外面的,如果放里面的話,while里面要改為(i<100),不然就加多了一個101。

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

xing3384867

說錯了,i++是放if后面,不是while外面
2016-05-19 回復 有任何疑惑可以回復我~
#2

慕粉3345685 提問者 回復 xing3384867

非常感謝!
2016-05-19 回復 有任何疑惑可以回復我~
#3

慕粉18355395361

實際上是多了100,放在if 前面的話,就少了一個“1”而多加了一個“101”,綜合起來就是多了“100”。
2016-07-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

計算1到100之間不能被3整除的數之和 為什么我用while循環輸出的答案不對

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

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

幫助反饋 APP下載

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

公眾號

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