为了账号安全,请及时绑定邮箱和手机立即绑定

求解,错在哪个地方了?

求解,错在哪个地方了?

sn3959 2015-09-27 17:36:16
import java.util.Arrays;public class HelloWorld {        //完成 main 方法    public static void main(String[] args) {        int [] scores={89,-23,64,91,119,52,73};       System.out.println("考试成绩的前三名为:");       HelloWorld hello=new HelloWorld();        hello.top3(scores);            }    public void top3(int[]scores){        int count=0;        Arrays.sort(scores);        for(int i=scores.length;i>=0;i--){            if(scores[i]<0||scores[i]>100){                continue;            }            count++;            if(count>3){                break;            }        System.out.println(scores[i]);        }    }        //定义方法完成成绩排序并输出前三名的功能                错误信息为:考试成绩的前三名为:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7at HelloWorld.top3(HelloWorld.java:16)at HelloWorld.main(HelloWorld.java:9)                        }
查看完整描述

1 回答

?
天启之魂

TA贡献174条经验 获得超85个赞

.ArrayIndexOutOfBoundsException: 7  意思为数组角标越界异常,异常数为角标7

稍微看了下你的代码 你的数组里面有7个元素,那么元素里面的角标是0-6  但是你int i=score.length  i就为7,

score[7]是不存在的! 你改为int i=score.length-1;就可以了

查看完整回答
1 反对 回复 2015-09-27
  • 1 回答
  • 0 关注
  • 1760 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信