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

来源:7-1 编程练习

莫行yy

2017-02-05 13:43


考试成绩的前三名为:

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]);

    }

   

    }

}


写回答 关注

1回答

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

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

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


    莫行yy

    非常感谢!

    2017-02-05 13:50:03

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1167704 学习 · 18749 问题

查看课程

相似问题