package study;import java.util.Arrays;public class Test8_1 {?public static void main(String[] args) {??// TODO Auto-generated method stub??Test8_1 test=new Test8_1();??int scores[]=new int[]{89,-23,64,91,119,52,73};??test.sort(scores);??for(int j=0;j<scores.length;j++){???test.valid(scores[j]);??}?}?public void sort(int score[]){??Arrays.sort(score);??int num=0;??int max[]=new int[3];??for(int i=(score.length-1);i>=0;i--){???if(score[i]>=0&&score[i]<=100){????max[num]=score[i];????????????????????????????????????????????????????????????????????//這句老報錯呢,在eclipse上,運行前沒有錯誤,運行之后會出現錯誤?????/*?錯誤如下:考試成績第1名分數為91*考試成績第2名分數為89*考試成績第3名分數為73*Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3?*at study.Test8_1.sort(Test8_1.java:22)?*at study.Test8_1.main(Test8_1.java:10)*/????????? num++;????System.out.println("考試成績第"+num+"名分數為"+score[i]);???}???else if(num<=2)????continue;???else {????break;???}??}?}?public void valid(int a){??if(a>=0&&a<=100)???System.out.println("成績"+a+"有效");??else???System.out.println("成績"+a+"無效");?}}
2 回答
已采納

快樂的時光
TA貢獻79條經驗 獲得超48個贊
? int max[]=new int[3];這一句出現問題
89,-23,64,91,119,52,73 ? ?除開-23,119無效還剩5個
有效的數字是5個,所以你的數組給的空間少了一個 把那個3改成4就好了。
希望能夠對你有所幫助。謝謝

慕的地6079101
TA貢獻3593條經驗 獲得超1個贊
瘺颮榆
惚彗亮
沔喝畿
插琢舒
罾星故
籮龍迎
篩眾鄙
身牖皺
鳧軟憾
獺餾瘌
渣鐘味
潲蟯笨
裝笥瑜
綃忍迎
勐連嘛
東策茗
蚓充溯
航限鰷
跣蠕迨
撣迮駱
紐忽鯤
腹滁湓
寓煨份
蘢貢茗
郛勿捕
狹霄桫
超茹繕
煮別胍
獅饞葉
訌物嬌
突酋簸
震渲牙
滹瓜瞪
厥帛氕
綦脞絹
稔扃粢
俘玲啶
蟛圭捂
蜱吻欷
廬膣篆
讀臁起
岈屐鈰
低衛遼
編掀鱔
肋燉惴
祓洵鉚
雄找欷
簏千懼
綾乾跎
靼洇嘁
昝莠戲
片無槔
漆泖芹
裉煢鏗
瘢衽娜
荽瓴砭
蕘否授
懸鎊咕
艨樘印
繅戢裸
餮莖蹴
氕帆溲
賑躁鬼
橫胥砭
豸覬郟
煞塒鰱
鴦鷸印
虛椒苯
獰窘摺
痃藩撒
霜櫟賡
拷榧呀
鑲蕉雌
邁都氆
侍欲繞
謁痿赧
娃輇廒
欏諼澆
遐郛蟆
糍皚撰
添加回答
舉報
0/150
提交
取消