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

java数组溢出,求解

java数组溢出的问题

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.paixu(scores);

        

        

    }

    

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

    

    

    public void paixu(int[] scores){

        Arrays.sort(scores);

        int count = 0;

        

        

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

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

                continue;

            }

            

              count++;

            if(count>3){

                break;

            }

                

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

                }

                    }

        

                            }   请问这样写那个for循环为什么会出现数组溢出,而要写成i=scores.length-1;i>=0;i--


正在回答

2 回答

举个例子,你定一个一个数组

int   a = new  int  [3]      那么a.length =3;    元素是a[0]   ,   a[1]   ,    a[2]    ;   并没有a【3】,正确代码如图http://img1.sycdn.imooc.com//57d2a7690001bfff07810590.jpg只要减一下就好,望采纳

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

一百天后的荣光 提问者

非常感谢!
2016-09-10 回复 有任何疑惑可以回复我~

同学。以为数组是从0开始排序的,即scores[0]~scores[length-1]工length个元素。

求采纳

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

举报

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

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

进入课程

java数组溢出,求解

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