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

求大神指点错在哪

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[] qiansan =hello.score(scores);

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

        {

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

        }

    }

    

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

    public int score(int[] scores)

    {

        Arrays.sort(scores);

        int n=1;

        int[] num=new int[3];

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

        {

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

            continue;

            if(n<=3)

            {

                num[n-1]=scores[i];

            }

            else

            break;

        }

        return num;

    }

}


提问者:baekai 2016-10-18 14:58

个回答

  • 丧心病狂de魂淡
    2016-10-18 17:13:41
    已采纳

    方法错误,int[] qiansan =hello.score(scores);这句都是多余的,很多代码都是错的哦,给你参考我的。A1是我自己取的,就是HelloWorld..

    package com.A;
    import java.util.Arrays;
    
    public class A1 {
     public static void main(String[] ages){
    	 int[] scores = {89,-23,64,91,119,52,73};
    	 System.out.println("成绩的前三名为:");
    	 A1 Top3 = new A1();
    	 Top3.showTop3(scores);
     }
     public void showTop3(int[] scores){
      Arrays.sort(scores);
      int num = 0;
       for(int i = scores.length - 1 ; i >= 0 ; i--){
    	  if( scores[i] < 0 || scores[i] > 100 ){
    	  continue;
       }
       num++;
       if( num > 3 ){
    	  break;
       }
      System.out.println(scores[i]);
       }
     }
    }

  • ziom
    2016-10-18 16:56:33

    编译错误还是运行错误还是逻辑错误?

  • 慕粉3464364
    2016-10-18 16:55:40

    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[] qiansan =hello.score(scores);

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

            {

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

            }

        }

       

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

        public int[] score(int[] scores)

        {

            Arrays.sort(scores);

            int n=1;

            int[] num=new int[3];

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

            {

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

                continue;

                if(n<=3)

                {

                    num[n-1]=scores[i];
                    n++;

                }

                else

                break;

            }

            return num;

        }

    }