日期:2014-05-20  浏览次数:20838 次

不知哪里不对 求解答
代码如下:
package yuanyang.cn;

import java.util.Random;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class BoardGame extends JFrame {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
BoardGame frame = new BoardGame();
frame.setVisible(true);


}
public BoardGame()
{

JLabel [] jlbArrey= new JLabel[8];
ImageIcon imge1 = new ImageIcon("E:\\Java\\12.jpg");
ImageIcon imae2 = new ImageIcon("E:\\Java\\13.jpg");
for(int i=0;i<9;i++)
{
 jlbArrey[i]= new JLabel();
 this.add(jlbArrey[i]);
 Random rdn = new Random();
 int n=rdn.nextInt(3);
 if(n==0)
 {
 jlbArrey[i].setIcon(imge1);
 }
 else if(n==1)
 {
 jlbArrey[i].setIcon(imae2);
 }
 else
 {
 jlbArrey[i].setIcon(null);
 }
 

}






}

}


产生错误如下:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at yuanyang.cn.BoardGame.<init>(BoardGame.java:29)
at yuanyang.cn.BoardGame.main(BoardGame.java:16)

------解决方案--------------------
for(int i=0;i<9;i++) 这里错了,

应该是 for(int i=0;i<8;i++), array的index 从零开始,8个元素就是 0 - 7
------解决方案--------------------
话说楼主犯这种低级错误eclipse那边查不出来,还要来论坛上问?
数组下标越界抛出的异常是:java.lang.ArrayIndexOutOfBoundsException
学习的效率体现在哪里,就在这边。

有问题尽量自己解决,不行的话 谷歌+百度 ,实在找不到解决方法才来论坛求救。顺序不要颠倒