为什么出者句话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");
}
}这个程序没报错 展开
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");
}
}这个程序没报错 展开
展开全部
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的数组位置了。
展开全部
你的类名和文件名不一样
你把文件名改为aa.java就可以了
java中定义文件名有说法的,不和C++一样你可以随便定义
还有就是导入包没.
你把文件名改为aa.java就可以了
java中定义文件名有说法的,不和C++一样你可以随便定义
还有就是导入包没.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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]
这句话的意思是MAIN主线程 出错
原因是 数组越界错误
int a[]=new int[5];
for(i=0;i<=5;i++)
a[i]=i;
a[5] = 5
数组是从0开始算的 所以最大只能取到a[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],当然数组越界
//只有5个元素a[0]到a[4]!!
for(i=0;i<=5;i++)
a[i]=i;
a[5] = 5// 根本没有a[5],当然数组越界
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询