求大神指點,謝謝!有一個錯誤提示,一直搞不懂?。?!
package com.imooc;
import java.util.Arrays;
public class HelloWorld {? ?
? ? //完成 main 方法
? ? public static void main(String[] args) {
? ? ? ? HelloWorld hello=new HelloWorld();
? ? ? ? int[] scores={89,-23,64,91,119,52,73};
? ? ? ? hello.showTop(scores);
? ??}
? ? //定義方法完成成績排序并輸出前三名的功能
? ? ?public void showTop(int[] ?scores){
? ? ? ? Arrays.sort(scores);
? ? ? ? ?int i;
? ? ? ? ?for (i=scores.length-1;i>=0; i--) {
? ? ? ? ? ? ?if(scores[i]<=100&&scores[i]>=0){
? ? ? ? ? ? ? ? ?continue;
? ? ? ? ? ? ?}
? ? ? ? System.out.println("考試成績的前三名為:");
? ? ? ? System.out.println(scores[i]);
? ? ? ? System.out.println(scores[i-1]);
? ? ? ? System.out.println(scores[i-2]);
? ?} }}
這是運行的錯誤提示,請大神指點指點,具體錯在哪兒了?。。?/strong>
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at com.imooc.HelloWorld.showTop(HelloWorld.java:26)
at com.imooc.HelloWorld.main(HelloWorld.java:9)
2015-06-11
倒數(shù)第二行和倒數(shù)第三行數(shù)組越界了,這個時候i是等于0 的
2015-06-11
package com.imooc;
import java.util.Arrays;
public class HelloWorld { ??
? ? //完成 main 方法
? ? public static void main(String[] args) {
? ? ? ? HelloWorld hello=new HelloWorld();
? ? ? ? int[] scores={89,-23,64,91,119,52,73};
? ? ? ??
? ? ? ? hello.showTop(scores);
? ? }
? ? //定義方法完成成績排序并輸出前三名的功能
? ? ?public void showTop(int[] ?scores){
? ? Arrays.sort(scores);
? ? ? ? ?int i;
? ? ? ? ?for (i=scores.length-1;i>0; i--) {
? ? ? ? ? ? ?if(scores[i]<=100&&scores[i]>=0){
? ? ? ? ? ? ? ? ?continue;
? ? ? ? ? ? ?}
? ? ? ? System.out.println("考試成績的前三名為:");
? ? ? ? System.out.println(scores[i]);
? ? ? ? System.out.println(scores[i-1]);
? ? ? ? System.out.println(scores[i-2]);
? ?} }}
/*提示的錯誤是數(shù)組下標越界
?for (i=scores.length-1;i>0; i--) {}
*/