大神帮我看看 我这里那里写错了

来源:7-1 编程练习

遙遠的她丶

2015-07-15 10:58

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        HelloWorld nimadan=new HelloWorld();

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

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

        nimadan.sort(scores);       

        

        

    }

    

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

    

    public void sort(int[]scores){

        Arrays.sort(scores);

        int top3=0;

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

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

                continue;

            }

            top3++;

            if(top3>3){

                break;

            }

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

        }

    }

    

    

    

    

    

    

    

    

}


写回答 关注

2回答

  • sixGod
    2015-07-15 11:57:09

    Arrays.sort(scores);

            for(int i=scores.length-3;i<scores.length;i++){

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

            }

    这样写就OK了

  • sixGod
    2015-07-15 11:53:34

     for(int i=scores.length-1;i>=0;i++)这个循环条件不对,你这一初始化i=6,进行Arrays.sort排序后,

    scores[6]=119,执行continue;过入下一次循环,此时i=7,score[7]根本不存在,所以报错

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

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

1165172 学习 · 17581 问题

查看课程

相似问题