问答详情
源自:7-1 编程练习

用eclipse验证出现这样。。。。请问哪错了,请大神指教


考试成绩的前三名为:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7

at com.lianxi.Demo01.yang(Demo01.java:14)

at com.lianxi.Demo01.main(Demo01.java:8)

下面是我的代码

package com.lianxi;

import java.util.Arrays;

public class Demo01 {

    public static void main(String[] args){

    Demo01 demo = new Demo01();

    int[] scores = {89,-23,64,91,119,52,73};

    System.out.println("考试成绩的前三名为:");

    demo.yang(scores);

    }

    public void yang(int[] scores){

    Arrays.sort(scores);

    int j=0;

    for(int i=scores.length-1;i>=0;i++){

    if(scores[i] < 0||scores[i]>100){

    continue;

    }

       j++;

       if(j>=3)

        break;

       System.out.println(scores[i]);

    }

   

    }

}


提问者:莫行yy 2017-02-05 13:43

个回答

  • ziom
    2017-02-05 13:48:21
    已采纳

    下标越界,把for循环改成如下:

    for(int i=scores.length-1;i>=0;i--) // 这里不应该是i++, 是i--