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

这样做也没有错,为什么一定要排除负数成绩呢?排完序之后前三个一定大于0,只输出前三个就好了鸭!

 //完成 main 方法
    public static void main(String[] args) {
        int [] a={89,-23,64,91,119,52,73};
        HelloWorld h=new HelloWorld();
        int [] b=h.sor(a);
        System.out.print(b [0]+","+b [1]+","+b [2]);
    }
    //定义方法完成成绩排序并输出前三名的功能
    int [] sor(int [] a){
        for(int i=0;i<a.length;i++){
            for(int j=0;j<a.length-1-i;j++){
                if(a[j]<a[j+1]){
                    a[j]=a[j]^a[j+1];
                    a[j+1]=a[j]^a[j+1];
                    a[j]=a[j]^a[j+1];
                }
            }
        }
        return a;
    }

正在回答

2 回答

杠精上身: 120分考试,考试卷面不整洁,扣分为负。

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

3y20w

程序员大忌:没有仔细看需求; 3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩
2019-03-24 回复 有任何疑惑可以回复我~
#2

碎月尘星 提问者 回复 3y20w

嗯嗯,才看见大于100无效的要求,是我疏忽了,谢谢你。
2019-03-25 回复 有任何疑惑可以回复我~

有效值是0到100,排第一的119无效,不需要输出。

还有数组排序可以不用自己定义。

import java.util.Arrays; //然后直接调用就行

Arrays.sort(scores);

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

碎月尘星 提问者

谢谢你的建议,我只是觉得在学习的过程中尽量不要图简便直接调用jdk中的方法,自己熟悉一两种排序方法比较好。
2019-03-25 回复 有任何疑惑可以回复我~
#2

碎月尘星 提问者

只能采纳一个回答吗?我想采纳你们的回答发现只能采纳一个。
2019-03-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这样做也没有错,为什么一定要排除负数成绩呢?排完序之后前三个一定大于0,只输出前三个就好了鸭!

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