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

额,一点也不知道哪里错了。求大神帮忙

import java.util.Arrays;



public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        HelloWorld hello=new HelloWorld();

        hello.print();

        

        

        

        

    }

    

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

    public void print(){

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

        Arrays.sort(Scores);

        int num=0;

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

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

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

                num++;

                if(num>3)

                break;

                

            }

          

             

            

   

        

        }

    }

    

    

    

    

    

    

    

    

    

}


正在回答

2 回答

应该是length-1啊,你写成length肯定会发生数组下标越界异常的。

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

qq_就此别过_0 提问者

非常感谢!
2015-09-28 回复 有任何疑惑可以回复我~
#2

qq_就此别过_0 提问者

额。不是数组的元素是7个么,-1不就成了6个了
2015-09-28 回复 有任何疑惑可以回复我~
#3

_潇潇暮雨 回复 qq_就此别过_0 提问者

数组下标的范围是从0开始的。
2015-09-28 回复 有任何疑惑可以回复我~
#4

qq_就此别过_0 提问者 回复 _潇潇暮雨

恩恩,已经解决啦,谢谢。
2015-09-28 回复 有任何疑惑可以回复我~
查看1条回复

if(num>=3)

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

举报

0/150
提交
取消

额,一点也不知道哪里错了。求大神帮忙

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