感覺沒毛病啊。。
import java.util.Arrays;
public class HelloWorld {
???
??? //完成 main 方法
??? public static void? main(String[] args) {
????? int[] scores={89,-23,64,91,119,52,73};
????? HelloWorld hello=new HelloWorld();
?????
????? hello.ranklist(scores);
???
??? //定義方法完成成績排序并輸出前三名的功能
}
??? public void ranklist(int[] scores){
??????? Arrays.sort(scores);
??????? int num=0;
??????? for(int i=scores.length;i>=0;i--){
????????
???????? if(scores[i]<0||scores[i]>100){continue;
??????? }
?????????? num++;
???????????
??????? if(num>3){break;}
????? System.out.println(scores[i]);
??????? }
?????
}?
2019-12-15
?i=scores.length這個代碼會導致數組訪問越界。舉個案例:int[] scores=new int[2]; ?由于數組起始是從0開始,到1就結束了, 現(xiàn)在初始化值scores[2]=1; 編譯時提示數組越界。你這個代碼存在的問題就是數組訪問越界了 ?
2019-12-08
i=scores.length-1,因為數組是從scores[0]開始,i=scores.length大于了數組長度。好像還少了個}