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

感觉没毛病啊。。

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


正在回答

2 回答

 i=scores.length这个代码会导致数组访问越界。举个案例:int[] scores=new int[2];  由于数组起始是从0开始,到1就结束了, 现在初始化值scores[2]=1; 编译时提示数组越界。你这个代码存在的问题就是数组访问越界了  


0 回复 有任何疑惑可以回复我~

i=scores.length-1,因为数组是从scores[0]开始,i=scores.length大于了数组长度。好像还少了个}

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165454    人
  • 解答问题       17585    个

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

进入课程

感觉没毛病啊。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信