问答详情
源自:6-7 使用 Arrays 类操作 Java 中的数组

谁能帮我检查一下一下一段代码,谢谢


package com.imooc;

import java.util.Scanner;

import java.util.Arrays;

public class HelloWorld {

public static void main(String[] args){

Scanner input=new Scanner(System.in);

int L=input.nextInt();                       //输入数组长度

int[] array=new int[L];

  for(int i=0;i<=array.length;i++){

   array[i]=input.nextInt() ;              //初始化数组的每一个元素

  }

 System.out.println("数组:"+Arrays.toString(array));    //利用Arrays输出数组


}

}

不知为何,在输出整个数组之前一切正常,但是无法输出数组,似乎还停留在之前的循环结构里面,直至输入数字个数大于L,然后报错。


提问者:jerseyyu 2015-08-01 23:56

个回答

  • 化龙贝
    2015-08-02 11:47:12
    已采纳

    把:  for(int i=0;i<=array.length;i++){

    改为:  for(int i=0;i<array.length;i++){

    --------------------------------------解释如下--------------------------------------------

    假设条件:数组长度为 10

    故:array.length = 10

    那么它的索引则为:0,1,2,3,4,5,6,7,8,9

    故:i的最大取值为 10

    故:array[10] 索引超出范围,即: ArrayIndexOutOfBoundsException

    --

    建议:下次提问时,贴出错误信息。代码使用编辑器左上角的代码语言功能


  • lzl51113212
    2015-09-01 19:57:08

    数组长度问题。

    for里面多了一个=。

    在之前的练习中,你肯定没有仔细学,没有完全掌握,忽略掉这个细节了。