为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

          

                    

       }

   }

   

   

   

   

   

   

   

   

}


正在回答

2 回答

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]);  

        }           

       }

   }


0 回复 有任何疑惑可以回复我~
#1

慕圣4085380

scores[i]<0||scores[i]>100 这行代码有问题吧 应该是 0-100才有效 这行代码里面 只要满足一条 就继续了 应该是 scores[i]<0&&scores[i]>100 吧
2018-06-15 回复 有任何疑惑可以回复我~
  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 ,而且判断条件应该是 ==,而不是= 。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信