我设计了一个名为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];
}
}
答案 0 :(得分:2)
默认情况下,Object
数组中的元素为null
。在尝试调用任何方法之前,您需要实例化元素
for (int i = 0; i < numOfCards; i++) {
currentCard[i] = new BingoCard();
...
}
答案 1 :(得分:0)
你创建了你的宾果卡阵列,但你没有初始化任何项目。这就是你获得空指针异常的原因。 ;)