參考:http://blog.csdn.net/javaeeteacher/article/details/4485834
http://bbs.csdn.net/topics/90298133
這是一個非常常見的異常,從名字上看是數組下標越界錯誤,解決方法就是查看為什么下標越界。
下面是一個錯誤示例:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at test4.State.nextStates(State.java:93)
at test4.State.main(State.java:478)
從這些提示信息中可以獲取如下信息:
1、錯誤發生在93行
2、發生錯誤的時候,下標的值為2
接下來分析為什么下標值為什么是2就可以解決了。
自己的理解:
這其實就是 數組越界了的問題
java中的數組分配是從0到它的length-1的空間,
比方:
int []a={1,2,3,4,5};
它分配了5個空間,這樣定義跟這樣
int [5]a={1,2,3,4,5}
是一樣的,但你不能調用a[5],只能調用到a[4]
結果:a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5,
但是使用:a[5]=數組越界