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

帮忙看看对数值排序然后打印出前三的方法,这么写为什么不对?


public void work(int[] scores){
    int count=0;
    Arrays.sort(scores);
    for(int i=0;i<scores.length-1;i++){
        if(scores[scores.length-i]>100||scores[scores.length-i]<0){
            continue;
            }
        count=count+1;
        System.out.println(scores[i]);
        if(count>2){
            break;
        }
             
    }
      
    
}

正在回答

1 回答

按道理应该用i--来处理会好些。

如果按你的思路来解,那么需要修改两处

1.

 if(scores[scores.length-i]>100||scores[scores.length-i]<0){ //数组是从0开始计算的,所以scores[scores.length-i]应该改为scores[scores.length-1-i]

2.

System.out.println(scores[i]);//因为你是按倒序来计算的 所以 显示的也以后按倒序来处理scores[i] 应该改为scores[scores.length-1-i]


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

jerry8600 提问者

非常 感谢您的解答!能够对入门的朋友如此耐心,谢谢!
2015-04-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

帮忙看看对数值排序然后打印出前三的方法,这么写为什么不对?

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