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

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

假設給定年齡是一個數組,應該如何操作?

自己寫了以下代碼,能成功運行,想問問有什么瑕疵或可以再優化改進的嘛?

package com.demo;
public class HelloWorld {
public static void main(String[] args) {
int[] age={24, 18, 36, 27};
int max=age[0];
int min=age[0];
int minus=0;
int sum=0;
int avg=0;
for(int i=0;i<age.length;i++){
?if(age[i]>max){
??max=age[i];
?}
?if(age[i]<min){
??min=age[i];
?}
sum=sum+age[i];
avg=sum/age.length;
minus=max-min;
}
System.out.println("最大年齡:"+max);
System.out.println("最小年齡:"+min);
System.out.println("年齡總和:"+sum);
System.out.println("平均年齡:"+avg);
System.out.println("年齡差值:"+minus);
}
}

正在回答

4 回答

1.平均數avg不一定為整數,用float或者double定義,或者你后面運算四舍五入如:avg=(int)(sum/age.length+0.5);

2.avg=sum/age.length;
minus=max-min;

上面這兩行放在for循環外,不要每次都進行賦值,占用空間復雜度。

3.其他都挺好的,看的很清楚,如果要節省代碼長度可以試試這樣寫

int min,max,minus,avg,sum;

min=max=age[0];

minus=avg=sum=0;

System.out.println("最大年齡:"+max+'\r'+"最小年齡:"+min+'\r'+"年齡總和:"+sum+'\r'+"平均年齡:"+avg+'\r'+"年齡差值:"+minus);

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

不是咸魚 提問者

感謝回答
2016-10-12 回復 有任何疑惑可以回復我~

給數組進行排序。

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

平均數不一定是整的? 用double

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

不是咸魚 提問者

謝謝回答
2016-10-12 回復 有任何疑惑可以回復我~

個人感覺這個沒啥可優化,反正不管如何都得遍歷數組求得總和

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

不是咸魚 提問者

謝謝回答
2016-10-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

假設給定年齡是一個數組,應該如何操作?

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

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

幫助反饋 APP下載

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

公眾號

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