我什么我的运行之后是这样的? 运行成功 考试成绩的前三名为: 119 91 89

来源:7-1 编程练习

哎呦_z

2018-08-03 01:12

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        HelloWorld hello = new HelloWorld();

        int[] scores={89 , -23 , 64 , 91 , 119 , 52 , 73};

        hello.scoressort(scores);

        

        

    }

    

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

    public void scoressort(int[] scores){

        Arrays.sort(scores);

        System.out.println("考试成绩的前三名为:");

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

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

                continue;

            }

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

        }

    }

}


写回答 关注

3回答

  • Voccire
    2018-08-03 11:38:11

    把 && 改为 ||

  • 慕设计9538459
    2018-08-03 10:50:49

    import java.util.Arrays;
    public class A {

        

        //完成 main 方法

        public static void main(String[] args) {

            A hello = new A();

            int[] scores={89 , -23 , 64 , 91 , 119 , 52 , 73};

            hello.scoressort(scores);

            

            

        }

        

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

        public void scoressort(int[] scores){

            Arrays.sort(scores);
            int count=1;
            System.out.println("考试成绩的前三名为:");

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

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

                 System.out.println(scores[i]);
                 count++;
                 if(count>3){
                     break;
                 }
                }

            }

        }

    }

  • 慕用5316567
    2018-08-03 10:40:24

    scores[i]<0&&scores[i]>100????

    一个数能同时小于0并且大于100么,中间应该是or

    另外你的FOR循环也是很简单粗暴呀,完全没考虑数组后几个数的想法呀。

    哎呦_z

    Arrays.sort(scores); 这个不是已经先排好顺序了吗! 就差个||

    2018-08-19 23:37:18

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165552 学习 · 17587 问题

查看课程

相似问题