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

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

自己輸入,這個代碼錯在哪里呢

int[]?scores?=?new?int[5];
System.out.println("請輸入5個成績:");
for(int?j=1;j<=scores.length;j++){
????System.out.print("第"+j+"個學生的成績:");
????scores[j]?=?new?Scanner(System.in).nextInt();
}
int?min?=?scores[0];
int?max?=?scores[0];
double?avg=0;
int?sum=0;
for(int?i=0;i<scores.length;i++){
????if(min>scores[i])
????????min?=?scores[i];
????if(max<scores[i])
????????max?=?scores[i];
????sum+=scores[i];
????avg?=?sum/(scores.length);
}
System.out.println("最小值:"+min);
System.out.println("最大值:"+max);
System.out.println("平均值:"+avg);



請輸入5個成績:
第1個學生的成績:60
第2個學生的成績:70
第3個學生的成績:80
第4個學生的成績:65
第5個學生的成績:75
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
?? ?at HelloWorld.main(HelloWorld.java:13)
與目標 VM 斷開連接, 地址為: ''127.0.0.1:55891',傳輸: '套接字''

進程已結束,退出代碼為 1

正在回答

3 回答

scores[j-1]?=?new?Scanner(System.in).nextInt();
可以這樣試試,原來的是因為scores數組從第二個位置也就是scores[1]開始填充數據,數組超出界限報錯


0 回復 有任何疑惑可以回復我~
int[]?scores?=?new?int[5];
System.out.println("請輸入5個成績:");
//j應該從0開始,不然你之前定義的長度new?int[5],就會從scores[1]開始,scores[0]就沒了
for(int?j=0;j<scores.length;j++){
????System.out.print("第"+(j+1)+"個學生的成績:");
????scores[j]?=?new?Scanner(System.in).nextInt();
}
int?min?=?scores[0];
int?max?=?scores[0];
double?avg=0;
int?sum=0;
for(int?i=0;i<scores.length;i++){
????if(min>scores[i])
????????min?=?scores[i];
????else?if(max<scores[i])
????????max?=?scores[i];
????sum+=scores[i];
????avg?=?sum/scores.length;
}
System.out.println("最小值:"+min);
System.out.println("最大值:"+max);
System.out.println("平均值:"+avg);


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

慕設計0259544

請輸入5個成績: 第1個學生的成績:60 第2個學生的成績:70 第3個學生的成績:80 第4個學生的成績:65 第5個學生的成績:75 最小值:60 最大值:80 平均值:70.0
2022-01-18 回復 有任何疑惑可以回復我~
?avg?=?sum/(scores.length);

這里不用括號

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

舉報

0/150
提交
取消

自己輸入,這個代碼錯在哪里呢

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

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

幫助反饋 APP下載

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

公眾號

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