问答详情
源自:7-1 编程练习

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

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,不太理解




提问者:紫羽降雪 2016-10-21 17:35

个回答

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

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

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

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