java中的复杂数据类型

时间:2015-04-09 19:23:06

标签: java custom-data-type

我设计了一个名为BingoCard的数据类型,它将创建一个随机宾果卡。我试图将BingoCard变成一个数组,但我在这一行上一直出错:System.out.println(CurrentCard [i] .toString());

我想知道我是否正确创建了阵列,或者我做错了什么? 感谢您提前提供任何帮助。

public class BingoGame {
private int[] counter;
private boolean done = false;
private int numOfCards;
private int fastestCard;

public BingoGame(int num){
numOfCards = num;
counter = new int[numOfCards];
}


public int play(){
for(int a=0;a<numOfCards;a++){
    counter[a] = 0;
}

BingoCard[] CurrentCard = new BingoCard[numOfCards];
while(!done){
    for(int i=0;i<numOfCards;i++){
        System.out.println("This is the current card:");
        System.out.println(CurrentCard[i].toString());

        int currentNum = (int)(Math.random() * 75) + 1;
        counter[i]++;
        CurrentCard[i].currentNumber(currentNum);
        CurrentCard[i].bingo();
        if(CurrentCard[i].bingo()){
            done = true;
        }
        fastestCard = i;
    }

}
return counter[fastestCard];
}

}

2 个答案:

答案 0 :(得分:2)

默认情况下,Object数组中的元素为null。在尝试调用任何方法之前,您需要实例化元素

for (int i = 0; i < numOfCards; i++) {
    currentCard[i] = new BingoCard();
    ...
}

答案 1 :(得分:0)

你创建了你的宾果卡阵列,但你没有初始化任何项目。这就是你获得空指针异常的原因。 ;)