for( int i = 0 ; i < ga.pl.size(); i ++){
if( 1 == ga.location[ga.pl.get(i).getX()/6][ga.pl.get(i).getY()/6]){
/*其他代码主要是这一行
*/
if( 1 == ga.location[ga.pl.get(i).getX()/6][ga.pl.get(i).getY()/6]){
new Circle(ga.pl.get(i).getX(),ga.pl.get(i).getY(),6,Color.GREEN).draw(g);
}
}
}
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at ga.ShowPlantBoard.paint(ShowPlantBoard.java:52)
at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
at sun.awt.RepaintArea.paint(RepaintArea.java:224)
at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:310)
at java.awt.Component.dispatchEventImpl(Component.java:4706)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
我在初始化时pl.size()长度是40,在后来程序不断运行,pl.size()长度会不断增加,需要在相应的位置上画圆。当长度大于40时就会出现这个异常。
求助!!!这个该怎么解决谢谢!!感激不尽。。
if( 1 == ga.location[ga.pl.get(i).getX()/6][ga.pl.get(i).getY()/6]){
/*其他代码主要是这一行
*/
if( 1 == ga.location[ga.pl.get(i).getX()/6][ga.pl.get(i).getY()/6]){
new Circle(ga.pl.get(i).getX(),ga.pl.get(i).getY(),6,Color.GREEN).draw(g);
}
}
}
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at ga.ShowPlantBoard.paint(ShowPlantBoard.java:52)
at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
at sun.awt.RepaintArea.paint(RepaintArea.java:224)
at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:310)
at java.awt.Component.dispatchEventImpl(Component.java:4706)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
我在初始化时pl.size()长度是40,在后来程序不断运行,pl.size()长度会不断增加,需要在相应的位置上画圆。当长度大于40时就会出现这个异常。
求助!!!这个该怎么解决谢谢!!感激不尽。。
解决方案 »
- 请达人帮我推荐一本java书
- 新手请问如何JAVA的MyInput的readChar和readString怎么写
- 请问java有没有存储基本类型的容器?
- JBuilder中类的java路径
- 请教:关于SimpleDateFormat的问题???
- JBuilder 8不能编译任何程序, why?
- MYSQL的详细连接方法是什么?
- 想不通的一个问题!(关于super以及jcreator)
- 初学者请教
- 高分求教
- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
- 工作不到一年,想要学习下设计模式,烦请各位前辈推荐一本书。
这句代码里应该有数组越界的操作,建议楼主debug试下,首先确定List的大小,然后确认get(int index)索引的大小,判断一下,是否会有index>=size