求解为什么是length-1

来源:7-1 编程练习

爱上明早

2016-07-23 21:16

import java.util.Arrays;
public class HelloWorld {
 //完成main方法
 public static void main(String[] args) {
  System.out.println("考试成绩的前三名为:");
  int[]score={89,-23,64,91,119,52,73};//成绩组
  HelloWorld hello=new HelloWorld();//创建对象,对象名为hello
  hello.qiSan(score);//调用方法,传入成绩组
 }
 /*
  * 功能:输出考试成绩的前三名定义一个包含整形数组的方法,用来传入成绩数组
  */
 public void qiSan(int[]scores){
  Arrays.sort(scores);//使用Arrays.sort()方法实现数组排序
  int num=0;//保存有效成绩的数量
  for(int i=scores.length-1;i>=0;i--){///倒序数组中的每一个元素
   if(scores[i]<0||scores[i]>100){//判断成绩有效性
    continue;//如果成绩无效,则跳过本次循环,忽略次成绩
   }
   num++;//有效成绩数加1
   if(num>3){//判断有效成绩的数量
    break;//如果有效成绩大于3,则结束循环,只输出成绩的前三名
   }
   System.out.println(scores[i]);//依次输出成绩前三名

写回答 关注

2回答

  • 天才小呵呵
    2016-08-04 21:54:34

    scores.length 表示 scores数组的长度。数组的下标是0开始到scores.length-1结束

  • xwq161683680964
    2016-07-23 22:35:08

    数组长度为length,但数组下标是从0开始,所以是length-1, 就是最后一个。

    比如这里scores[]有6个元素,scores.length ==6, scores[5]就是第六个元素。

     hello.qiSan(score);//调用方法,传入成绩组-----你这里少了个s

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

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

1167368 学习 · 18748 问题

查看课程

相似问题