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

方法调用第11行和18行有报错但是不知到哪里错了,求大神指点啊

package fangfa;


 

import java.util.Arrays;

public class StringArraysCanFan {

    

    //完成 main 方法

    public static void main(String[] args) {

    StringArraysCanFan hello=new StringArraysCanFan();

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

       hello.sort(scores);

        System.out.println("前三名成绩为:"+Arrays.toString(scores));

        

        

    }

    

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

     public double sort(double[] scores){

      Arrays.sort(scores);

       int  count=0;

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

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

            count+=1;

              if(count>3){

                  break;

              } 

            return scores[i];

          } 

      }

    }

    

}


提问者:慕UI1237056 2016-03-05 21:24

个回答

  • mirosar
    2016-03-05 22:58:47
    已采纳

    public class HelloWorld {
    import java.util.Arrays;
        //完成 main 方法
        public static void main(String[] args) {
            HelloWorld getGrades = new HelloWorld();
         int[] result = getGrades.exam(89,-23,64,91,119,52,73);
        }
       
        //定义方法完成成绩排序并输出前三名的功能
        public int[] exam(int a,int b,int c,int d,int e,int f,int g){
         int[] scores = {a,b,c,d,e,f,g};
      Arrays.sort(scores); //对数组进行升序排序
      
      int effGra = 0; //定义并初始化有效成绩个数
      for (int i = scores.length-1;i >= 0;i--){ //倒序遍历数组
       if ((scores[i]<0)||(scores[i]>100)){ //如果成绩小于 0 或大于 100
        continue;       //则使用 continue忽略此成绩
       }
       effGra++; //有效成绩+1
       if (effGra > 3){ //如果有效成绩数大于 3
        break; //则结束循环
       }
       else{
        System.out.printf(scores[i]+"\t"); //只输出成绩的前三名
       }
      }
      return scores;
     }
    }

  • 紫檀幽居
    2016-03-06 00:21:26

    调用的scores没有声明http://img.mukewang.com/56db073c0001a56e07080580.jpg

  • 太合衬i
    2016-03-05 22:42:50

    package fangfa;

    import java.util.Arrays;

    public class StringArraysCanFa{


        //完成 main 方法

        public static void main(String[] args) {

            StringArraysCanFahello=new StringArraysCanFa();

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

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

            hello.sort(scores);

        }

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

         public double sort (double[] scores){

          Arrays.sort(scores);

           int  count=0;

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

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

                continue;

              }

              count+=1;

              if(count>3){

                 break;

              } 

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

          }

           return 1;

        }

    }