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

来源:7-1 编程练习

紫羽降雪

2016-10-21 17:35

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("考试成绩的前3名为");
    HelloWorld hello = new HelloWorld();
    
    hello.showTop3(scores);
        
        
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public void show(int[] scores){
        Arrays.sort(scores);
        int num=0;
        System.out.println(Arrays.toString(scores));
        for ( int i = scores.length - 1; i >= 0; i-- ) {
            if (scores.[i]<0 || scores.[i]>100){
            continue;
            }
            num++;
            if(num>3){break;}
            System.out.println(scores[i]);
   
为啥scores.length 需要-1,不太理解




写回答 关注

2回答

  • hatewhat
    2016-10-30 23:03:17
    已采纳

    应为scores.length代表的是数组的长度,比如int [] nums=new int[8],的时候nums.length就等于9,所以当然要-1拉,而文中的scores.length=9;

    紫羽降雪

    非常感谢!

    2016-11-22 10:46:50

    共 1 条回复 >

  • 紫羽降雪
    2016-10-21 17:56:43

    知道了,数组的下标是从0开始的,第一步就数组越界啦

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

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

1165538 学习 · 17586 问题

查看课程

相似问题