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

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

最大值小值都是20???謝謝哦

package?com.doit;
public?class?It?{?public?static?void?main(String[]?args)?{?
???//?定義一個整型數組,并賦初值?
????int[]?nums?=?new?int[]?{?61,?23,?4,?74,?13,?148,?20?};?
????int?max?=?nums[0];?//?假定最大值為數組中的第一個元素?
????int?min?=?nums[0];?//?假定最小值為數組中的第一個元素?
????double?sum?=?0;//?累加值??
????double?avg?=?0;//?平均值???
????for?(int?i?=?0;?i?<?nums.length;?i++)?{?//?循環遍歷數組中的元素????
?????//?如果當前值大于max,則替換max的值?
??????do{max=nums[i];}while(nums[i]>max);?????
??????//?如果當前值小于min,則替換min的值?
??????do{min=nums[i];}while(nums[i]<min);??
???????//?累加求和??????
??????sum=sum+nums[i];??}??
??????//?求平均值?
??????avg=sum/nums.length;?
??????System.out.println("數組中的最大值:"?+?max);
????????System.out.println("數組中的最小值:"?+?min);
??????????System.out.println("數組中的平均值:"?+?avg);?
??????????}?}

為啥我的最大值和最小值輸出的結果都是20呀?循環哪里出問題了呀?求大神救助

正在回答

2 回答

其實你如果一定要用while也不是不可以,可是你卻偏偏用了do-while,在循環開始前都會先執行一次,所以你的最大值跟最小值才會都等于數組的最后一個。

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

do{max=nums[i];}while(nums[i]>max);

do{min=nums[i];}while(nums[i]<min);?

這里寫if。寫循環干嘛。。

分別寫成:

if (max < nums[i]) max = nums[i];

if (min > nums[i]) min = nums[i];

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

舉報

0/150
提交
取消

最大值小值都是20???謝謝哦

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

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

幫助反饋 APP下載

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

公眾號

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