为什么一直运行不了啊 我感觉代码都没问题啊

来源:7-1 编程练习

悠然_

2019-02-17 21:36

 import java.util.Arrays;

public class HelloWorld 

{

   

    //完成 main 方法

    public static void main(String[] args) 

    {

        HelloWorld hello=new HelloWorld();

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

          hello.num(scores);

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

        

        

    }

    

    //定义方法完成成绩排序并输出前三名的功能

      public void num(int[] scores)

      {

          Arrays.sort(scores);

          int x=0;

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

          {

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

              {continue;}

              if(scores[i]<=100&&scores[i]>=0)

               {x++;}

              if(x>3)

              { break;}

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

          }

          

      }

}     


写回答 关注

3回答

  • qq_唯5没电了f_0
    2019-02-19 17:14:35

    索引大于数组大小。  scores.length 改为scores.length-1就行了;


  • 北京猿人
    2019-02-17 21:49:36

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

    这行代码里面int i = scores.length 改为 int i = scores.length-1;

    不然会超出数组最大值而出错,数组是从0开始数的。

  • 悠然_
    2019-02-17 21:40:58

    for循环那里i忘记减1了

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

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

1163404 学习 · 17551 问题

查看课程

相似问题