问答详情
源自:7-1 编程练习

只判断了大于的条件,小于的怎么判断

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        int[] data ={89,-23,64,94,119,52,73};

        HelloWorld hello=new HelloWorld();

        int[] tops=hello.top(data);

        System.out.println(Arrays.toString(tops));

        

    }

    

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

    

    public int[] top(int scores[]){

        

        Arrays.sort(scores);

        int[] score =new int[3];

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

            if(scores[i]>100){

                continue;

            }else{

                score[0]=scores[i];

                score[1]=scores[i-1];

                score[2]=scores[i-2];

                break;

            }

        }

        return score;

    }

}

只判断了过滤了大于100的,没去考虑小于0的,不知道怎么修改才能做到判断下一个小于0


提问者:qq_慕先生651597 2020-01-07 17:29

个回答

  • 考个证
    2020-01-19 15:20:16

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

  • 1156999641
    2020-01-15 18:14:44

    import java.util.Arrays;

    public class HelloWorld 

    {

        //完成 main 方法

        public static void main(String[] args)

        {

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

            HelloWorld hello = new HelloWorld();

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

            hello.top(scores);

            

        }

        

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

        public void top(int[] scores)

        {

            int count = 0;

            int wrong = 0;

           

            //有效成绩个数

            for(int i = 0;i<scores.length;i++)

            {

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

                    count++;   

            }

            

            int right[] = new int[count];

            

            //将有效成绩放入新的数组

            for(int i = 0;i<scores.length;i++)

            {

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

                   right[i-wrong] = scores[i];

                else

                {

                    wrong++;

                    continue;

                }

            }

            

            Arrays.sort(right);

            

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

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

        }

    }


  • qq_慕先生651597
    2020-01-07 17:31:02

    还有在问一下不能定义把排序后的数组赋值给其他数组吗?

    比如 int[]num =   Arrays.sort(nums);这样好像是会报错的