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

求大神解决

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

         hello.grades(scores);

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

        

        

    }

    

    

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

    

    public void grades(int []scores ){

        Arrays.sort(scores);

        int num=0;

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

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

                continue;

            }

            num++;

            if(num>3){

                break;

            }

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

            }

    } 

}

    

    

    

    

    

    

}


正在回答

5 回答

http://img1.sycdn.imooc.com//57392a880001745e06870782.jpg



好好修改就可以、学会自己调试错误!!

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

hello.grades(scores)都调用方法了,就是这段代码执行了方法的代码,就直接输出前3名成绩了。System应该在它的前面就行输出才可以。新手共勉!

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

在你写的方法里,for循环的这句“int i=scores.lenth-1”的length拼错了,少了"g"。

还有就是,在main函数里,“System.out.println("考试成绩的前三名为:")”这条语句应该在“hello.grades(scores);”之前,才能符合题目要求的输出格式。

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

因为前面排序是通过升序排序的方法 然后在是通过 for(int i=scores.lenth-1;i>=0;i--)倒序进行判断,所以满足条件 if(scores[i]<0||scores[i]>100)的最前三个是91,89,73

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

if(num>3){

                break;

            }

这个地方的判断哟什么作用吗》?

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

tiggerboy

如果统计的成绩个数大于3就跳出循环
2016-05-05 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

求大神解决

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