求教了,各位,请看内容

来源:7-1 编程练习

因懂得故慈悲

2016-05-05 18:32

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

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

      int[]nums=hello.qiansan(scores);

            

    }

    

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


 public int qiansan(int []nums){

         Arrays.sort(nums);

         int count=0;

         

         for(int i=nums.length-1;i>=0&&count<3;i--){

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

                 continue;                 

             } 

         

             count++;

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

         }

       return nums; 

     

     }

    

错在哪啊?

写回答 关注

2回答

  • 熙希君
    2016-05-11 16:19:40



    import java.util.Arrays;


    public class HelloWorld {

        public static void main(String[] args) {
            int[] scores={89,-23,64,91,119,52,73};
            HelloWorld hello=new HelloWorld();
            String info=hello.show(scores);
               System.out.println(info);
        }
            public String show(int[] scores){
               
                Arrays.sort(scores);
                
                return "第一名是"+scores[scores.length-1]+"第二名是"+scores[scores.length-2]+"第三名是"+scores

        [scores.length-3];
            }

    }

    Arrays.sort(scores);已经实现排序大小了,为什么还要循环呢?直接把第一第二第三的分数返回,传入数组即可得到结果

  • 慕丝5132158
    2016-05-05 20:42:59

    import java.util.Arrays;

    public class HelloWorld {

        

        //完成 main 方法

        public static void main(String[] args) {

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

        

        System.out.println(" 本次考试前三名是:");

        HelloWorld hello = new HelloWorld();        

        hello.big3(scores);    

        }

        

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

        

        public void big3(int [] scores)

        {

            Arrays.sort(scores);

            int num = 0;

            for(int i = scores.length-1;i>=0&&num<3;i--)

            {

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

                    continue;

                num++;

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

            }

        }

        

        

        

        

        

        

        

        


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

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

1165635 学习 · 17587 问题

查看课程

相似问题