为什么运行不出来?

来源:7-1 编程练习

fel

2015-12-20 20:28

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

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

    hello.max(scores);

        

        

        

    }

    

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

   public void max(int[] scores){

       

       Arrays.sort(scores);

       int b=0;

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

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

               continue;

           }

          

           b=b+1;

           

           if(b>3){

               

               break;

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

       }

   }

    

}


写回答 关注

3回答

  • frisch
    2015-12-20 23:57:07
    已采纳

    for循环条件里面i的处置应该为scores.length-1

    fel

    非常感谢!

    2015-12-21 16:53:06

    共 1 条回复 >

  • 凉拌西红柿S
    2015-12-21 12:03:41

    考试成绩的前三名为:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
    at HelloWorld.max(HelloWorld.java:21)
    at HelloWorld.main(HelloWorld.java:9)

    for循环条件里面i的处置应该为scores.length-1

    fel

    知道了,谢谢!

    2015-12-21 16:53:40

    共 1 条回复 >

  • fel
    2015-12-20 20:28:28

    考试成绩的前三名为:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
    at HelloWorld.max(HelloWorld.java:21)
    at HelloWorld.main(HelloWorld.java:9)

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

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

1165172 学习 · 17581 问题

查看课程

相似问题