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

不懂为什么这样。。。。

public void showTop3(int[] scores){

        Arrays.sort(scores);

        int num = 0;

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

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

                continue;

            }

            num++;

            if(num>3){

                break;

            }

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

        }

 这里

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

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

                continue;

的意义是什么,,,为什么scores.length-1,,,

正在回答

2 回答

数组的编号是从0开始的也就是说scores[0]是数组的第一个数字,如果数组有3个参数,第3个的编号就是scores[2],scores.length是数组的长度3,i是数组的编号,那么循环到第3个数的时候,i就应该是2,i=3的话就会循环到数组的第4个数造成越界

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

数组的编号是从0开始的也就是说scores[0]是数组的第一个数字,如果数组有100个参数,第一百个的编号就是scores[99],scores.length是数组的长度100,i是数组的编号,那么循环到第一百个数的时候,i就应该是99,i=100的话就会循环到数组的第101个数造成越界

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

举报

0/150
提交
取消

不懂为什么这样。。。。

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