可爱的人人
2010-02-20 11:32 jinze 阅读(261) 评论(0) 编辑 收藏 举报人人真是可爱啊,他们的手机客户端软件出现了一个数组下标越界异常:
Arry Index Out Of Bounds
java/lang/ArrayIndexOutOfBoundsException n
8>=8
也即java.lang.ArrayIndexOutOfBoundsException ,在我的手机上出现过两次,一次n 5>=5,这一次是n 8>=8,
这个世界上不存在没有异常的软件,不过这样的异常是不是太有点那个了?说点什么呢,还是什么都不说了吧,让我们来看看程序:
我想这应该是程序中的一个for循环除了问题,问题出在程序初始化的阶段,也就是程序在检索数据库中的日志内容时出现了这个异常,我想这个异常如果细心一点的话是不会出现的。下面让我们来模拟一下这个异常:
创建一个新的类,不妨叫做ArrayTest,然后创建一个静态的方法:
public static void Test()
{
String[] str=new String[10];
for(int index=0;index<=str.length;index++)
{
str[index]=""+java.lang.Math.random();//用随机数来给这个数组赋值。
System.out.println(str);//打印出这个数组。
}
}主方法调用一下这个静态的方法:
public static void main(String[] args)
{
Test();
}
接下来,就会产生这个异常:
要解决这个异常也有两种方法:
第一种,异常捕获:
public static void Test2()
{
try
{
String[] str=new String[10];
for(int index=0;index<=str.length;index++)
{
str[index]=""+java.lang.Math.random();//用随机数来给这个数组赋值。
System.out.println(str);//打印出这个数组。
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
System.out.println("Hello World");
}
这里我们给出一个Test的替代方法,Test2.
第二种,这是一种(非常)简单的修改
public static void Test3()
{
String[] str=new String[10];
for(int index=0;index<=str.length-1;index++)
{
str[index]=""+java.lang.Math.random();//用随机数来给这个数组力的成员赋值。
System.out.println(str);//打印出这个数组。
}
}
好了,收工,另外我非常喜欢用人人,希望他们的软件可以越写越好。
转载自马金泽的cnblogs主页:http://www.cnblogs/MicroGoogle/.