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

用有返回值类型去做,结果 输入只是排序后的元素 这什么问题 求解呢

//功能:

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

          HelloWorld fuck=new HelloWorld();

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

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

         int[] halo=   fuck.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--){

        //判断数组中的参数是否有效;即在0-100之间

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

                continue;

            }    

           count++;

            if(count>3) break;

         

        }

              return scores;

      

    }

 }   

    

    

    

    

    

    

    

 


提问者:慕粉Javacoder 2016-06-03 19:44

个回答

  • 打铁铺子
    2016-06-03 20:42:03

    在sort的方法中,对score的每个元素进行了判断是否在0到100内,但是并没有处理这些元素,而是原数组返回。应该再定义一个数组,把前三名的成绩存进这个数组,再返回,或者对score[]重新赋值,前三个元素即为前三名的成绩,再返回。。。