每当我尝试运行某种方法时,都会出现令人困惑的错误

时间:2014-05-06 17:44:24

标签: java

所以我正在开发卡片匹配游戏,以下方法给我带来了很多麻烦。

int[] cardmatch = new int[]{};
ArrayList<JButton> card = new ArrayList();

private void cardreset() {
    for(int x = 1; x<=20; x++) {
        if (cardmatch[x] == 0) {
            card.get(x).setIcon(back);
        }
    }
}

cardmatch是一个数组,对于所有值通常等于0,但对于任何翻转并最终匹配的卡,设置为1。 card是一个arraylist,包含我用作“卡片”的所有JButton变量。两个数组都由其他方法填充(我检查过,它们工作正常)。该方法应该检查卡是否匹配,并翻转任何不匹配的卡,但每当我尝试运行它时,我最终都会出错。有什么建议?完整代码为here.

1 个答案:

答案 0 :(得分:0)

你错了。用空初始化数组。所以这样做..

int MAX = 25;
int[] cardmatch = new int[MAX];
ArrayList<JButton> card = new ArrayList();

private void cardreset() {
    for(int x = 0; x<MAX; x++) {
        if (cardmatch[x] == 0) {
            card.get(x).setIcon(back);
        }
    }
}