package?com.THREE;
import?java.util.Arrays;
public?class?CLASS_8_1?{
//?TODO?Auto-generated?method?stub
????public?static?void?main(String[]?args)?{
????????int[]scores=?{89,-23,64,91,119,52,73};
????????System.out.println("前三:");
????????CLASS_8_1?top=new?CLASS_8_1();
????????top.getTop3(scores);
????}
????public?void?getTop3(int[]scores)?{
????????Arrays.sort(scores);?//?先對數組從小到大排序
????????int?num=0;?//?計數器
????????for(int?i=scores.length-1;i>=0;i++)?{?//?倒序判斷,除了大于100的三位數字,就是前三名
???? ????if(scores[i]>100||scores[i]<0)?{
???? ????continue;?//?如果成績大于100或小于0,跳過該成績,該成績不進入計數器,但是for循環仍然繼續運行
???? ????}
????????????num++;
???? ????if(num>3)?{
????????????break;?//?如果計數器超過三位,跳出for循環
???? ????}
????????????System.out.println(scores[i]);?//?依次輸出前三名的成績
????????}
????}
}Console:前三:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 at com.THREE.CLASS_8_1.getTop3(CLASS_8_1.java:26) at com.THREE.CLASS_8_1.main(CLASS_8_1.java:19)行數不一樣,我原來的程序開頭有注釋,反正就是這里:if(scores[i]>100||scores[i]<0) {和這里:top.getTop3(scores);
Exception in thread "main"
Amber_9333
2019-06-20 11:24:42