感觉没毛病啊。。

来源:7-1 编程练习

qq_慕工程5216916

2019-12-07 23:27

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回答

  • 慕圣8027419
    2019-12-15 16:36:25

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


  • 冰榕
    2019-12-08 11:14:04

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

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

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

1163378 学习 · 17551 问题

查看课程

相似问题