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

for循环中为什么要用数组长度做倒序历遍而不是从下标0开始?

例如for(int i=0;i<=scores.length-1;i++)

正在回答

4 回答

不是不行的问题,这道题要求输出前三个最大成绩,Arraary方法排序后数组中的元素从小到大排列,for循环遍历的时候从scores.length-1开始相当于从数组最后元素开始,相当于从最大的元素开始一次寻找,

然后用if(scores[j]>100||scores[j]<0)     { continue; }把无效成绩排除(当无效时跳出本次循环)……这样就会最快的找到前三个最大的。我叫雷锋


0 回复 有任何疑惑可以回复我~
public int getArrays(int [] score){
        Arrays.sort(score);
        int max1=0;
        for(int i=0;i<score.length;i++){
            if(100>=score[i]&&score[i]>max1&&score[i]>0){
                max1=score[i];
            }
        }return A
}

可以从0遍历起阿,,没问题的!各种题目都会有很多中解决方法,新手最好多用几种都是试试

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

我刚才分别实验了两种方法发现了我的问题所在,,是这样哈,我忘记了之前用Arrays.sort把数组排序成顺序了,也就是说最后三个数是最大的,所以应该倒序输出后三个数。  而我想的是先一个一个把成绩输出来然后在比较大小,,还是参考答案的方法更合适。

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

(刷经验中,觉得正确请采纳,谢谢!)

因为你要做的是倒序便遍历,所以你是需要使用对应的下标来得到结果的,如果从0开始,就是从第一个元素开始输出,

而从scores.length-1则是从数组 中的最后一个元素开始输出,这是不同的

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

举报

0/150
提交
取消

for循环中为什么要用数组长度做倒序历遍而不是从下标0开始?

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