为什么出者句话Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException

2025-04-03 12:44:00
推荐回答(4个)
回答1:

1.将String类对象通过toCharArray()方法转化为字符数组,因为数组各个位置均会初始化为0,然后遍历该字符数组得到结果。


2.public static void main(String[] args){

int[] scores = {1, 2, 3, 4, 5};

String l = Arrays.toString(scores);

//char list[] = new char[100];

char[] list = l.toCharArray();

int number = 0;

for(int i = 0; list[i] != 0; i++)

{

if(list[i] == ' ')

{

number++;

}

}

System.out.println(number);

}

3.这是数组越界的错误信息,表示数组list的下标在遍历过程中到了15(实际上的16),而在初始化时只申请了15个位置。

联系我后面的提示,得知for循环的终止判断出了问题,因这个字符数组的内存申请范围是精确的,后面没有多余的空间,也就不存在初始化为0的数组位置了。

回答2:

你的类名和文件名不一样
你把文件名改为aa.java就可以了
java中定义文件名有说法的,不和C++一样你可以随便定义

还有就是导入包没.

回答3:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
这句话的意思是MAIN主线程 出错
原因是 数组越界错误

int a[]=new int[5];

for(i=0;i<=5;i++)
a[i]=i;
a[5] = 5
数组是从0开始算的 所以最大只能取到a[4]

回答4:

int a[]=new int[5];
//只有5个元素a[0]到a[4]!!

for(i=0;i<=5;i++)
a[i]=i;
a[5] = 5// 根本没有a[5],当然数组越界