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

错在哪???

import java.util.Arrays();


public class HelloWorld {

    //完成 main 方法

    public static void main(String[] args) {

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

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

        HelloWorld hello=new HelloWorld();

        hello.zzz(scores);

    }

    

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

    public void zzz(int[] scores){

        Arrays.sort(scores);

        int sss;

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

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

                continue;

            }sss++;

            if(sss>3){

                break;

            }

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

    }

    

    

    

    

    

    

    

    

    

}


正在回答

3 回答

两个问题:

  1. sss没有赋初值

  2. if(scores[i]<0||scores[i]>0)这个判断只有scores等于0的时候才不会执行continue,所以>0那个不用了

  3.  for(int i=scores.length-1;i>=0;i++)这里应该是i--

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

脚踏实地谋发展2018

哦是三个问题……
2018-10-03 回复 有任何疑惑可以回复我~
#2

脚踏实地谋发展2018

>0应该改成>100,楼下老兄说得对
2018-10-03 回复 有任何疑惑可以回复我~

还有i++,你是从后往前看  所以应该是i--

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

 if(scores[i]<0||scores[i]>0)应该是大于100;

 int sss;

sss应该初始化为0;

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

因为你是输出前三名的成绩  所以需要一个一个输出,应该放在for循环里


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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165234    人
  • 解答问题       17581    个

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

进入课程

错在哪???

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