求大神解决

来源:7-1 编程练习

天才的我

2016-04-26 15:34

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回答

  • 流逝的回忆已成空白
    2016-05-16 10:04:38

    http://img.mukewang.com/57392a880001745e06870782.jpg



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

  • 慕粉3252512
    2016-05-06 00:21:30

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

  • 雷雨夜下城
    2016-04-27 15:13:28

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

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

  • 慕标1980328
    2016-04-27 14:36:24

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

  • _____淡淡的芳香
    2016-04-26 18:07:17

    if(num>3){

                    break;

                }

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

    tigger...

    如果统计的成绩个数大于3就跳出循环

    2016-05-05 17:15:28

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165554 学习 · 17587 问题

查看课程

相似问题