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

我照书抄的程序如下:publicclassaa{publicstaticvoidmain(Stringarg[]){inti;inta[]=newint[5];for(i... 我照书抄的程序如下:
public class aa{
public static void main (String arg[]){
int i;
int a[]=new int[5];
for(i=0;i<=5;i++)
a[i]=i;
for(i=a.length-1;i>=0;i--)
System.out.println("a["+i+"]="+a[i]);
}
}
然后编译没报错运行却出现了:Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException at ArrDemo.main(ArrDemo.java:7)
编译与运行如下:
C:\j2sdk1.4.0>javac ArrDemo.java

C:\j2sdk1.4.0>java ArrDemo
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at ArrDemo.main(ArrDemo.java:7)
为什么啊?
附:我运行//My first Application program in Java
public class jj{
public static void main(String args[]){
System.out.println("hahaha");
}
}这个程序没报错
展开
 我来答
酒好烂
推荐于2019-10-01 · TA获得超过3308个赞
知道答主
回答量:42
采纳率:0%
帮助的人:1.2万
展开全部

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的数组位置了。

吸一口尼古丁
2007-02-13 · TA获得超过2399个赞
知道小有建树答主
回答量:603
采纳率:0%
帮助的人:947万
展开全部
你的类名和文件名不一样
你把文件名改为aa.java就可以了
java中定义文件名有说法的,不和C++一样你可以随便定义

还有就是导入包没.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuzhenyi1985
推荐于2017-09-04 · 超过34用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:82.9万
展开全部
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]
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zenkill
2007-02-13 · TA获得超过281个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:0
展开全部
int a[]=new int[5];
//只有5个元素a[0]到a[4]!!

for(i=0;i<=5;i++)
a[i]=i;
a[5] = 5// 根本没有a[5],当然数组越界
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式