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

请问大神我的代码哪里错啦

public class HelloWord {

import java.util.Arrays;

   //完成 main 方法

   public static void main(String[] args) {

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

       int count=0;

       HelloWord gen=new HelloWord();

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

       gen.oo(scores);    

   }

   

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

   

   public void oo(int[] scores){

       Arrays.sort(scores);

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

          if(scores>0&&scores<100) {

           count++;

          }

        else if(count=3){       

           System.out.println(Arrays.toString(scores));    }

          else{continue;}

          

                    

       }

   }

   

   

   

   

   

   

   

   

}


提问者:慕无忌8819960 2018-06-11 21:21

个回答

  • 梓梓然
    2018-06-14 10:20:42

    import java.util.Arrays;

    public class hello{


       //完成 main 方法

       public static void main(String[] args) {

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

           hello gen=new hello();

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

           gen.oo(scores);    

       }

       

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

       

       public void oo(int[] scores){

      int count=0;

           Arrays.sort(scores);

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

           {

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

              {

             continue;

              }

              count++;

           if(count<=3)

            {       

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

            }           

           }

       }


  • 海边的卡夫
    2018-06-12 10:50:05

    1. 首先 int count=0 要在方法内部定义。

    2.   根据数组的语法,数组最后一位是它的长度-1,这里是for(int i=scores.length-1;i>=0;i--)

    3.  count ++;  条件应该在 下面if判断里

    4.   if(scores>0&&scores<100) 这里语法错误,  scores 是数组,而你for循环的是scores 里的每个元素 所以应该是scores[i].

    5. 这里输出的应该是  System.out.println(scores[i]) 而且 应该在第一个 if 判断内

    6. 第二if 不需要else ,而且判断条件应该是 ==,而不是= 。