猿问

我的本意是用返回类型为int[]去做,结果遍历的数组halo只是把排序后的元素输出出来了,如if语句都未执行

//功能:

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};

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

         int[] halo=hello.sort(scores);

         

        for(int j:halo){

    System.out.println(j);

    }

         

    }

    

    

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

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

        int count=0;

        Arrays.sort(scores);

        //for循环应从后往前开始遍历

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

        //判断数组中的参数是否有效

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

                continue;

                count++;

            if(count>3) break;

         

        }

              return scores;

      

    }

 }


慕粉Javacoder
浏览 1263回答 1
1回答

王大厉

看错了  你返回的是排完序的数组     if(scores[i]<0||scores[i]>100)                 continue;            else{            count++;            if(count>3)                   break;              System.out.println(scores[i]);            }这样输出的是前三  你返回的是排完序的 scores数组
随时随地看视频慕课网APP

相关分类

Java
我要回答