jerseyyu
2015-08-01 23:56
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,然后报错。
把: 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
--
建议:下次提问时,贴出错误信息。代码使用编辑器左上角的代码语言功能
数组长度问题。
for里面多了一个=。
在之前的练习中,你肯定没有仔细学,没有完全掌握,忽略掉这个细节了。
Java入门第一季(IDEA工具)升级版
1167334 学习 · 18589 问题
相似问题