我正在尝试制作一个二十一点游戏,到目前为止我已经制作了一个Card类和Deck类。我正在尝试测试我的类,以确保一切正常,通过打印出一个字符串中的牌组,但当我运行程序时,它给我一个空指针异常并告诉我问题是当我尝试将卡添加到我的阵列卡片列表
这是给我提问的代码
{
deckSize = decks * CARDS_IN_DECK;
// Add cards to deck
for (int deck = 0; deck < decks; deck++)
{
for (int suit = 0; suit < 4; suit++)
{
for (int value = 1; value <= 13; value++)
{
cards.add(new Card(suit, value)); //error occurs here
}
}
}
// Shuffle cards
if (shuffle)
{
this.shuffle();
}
}
答案 0 :(得分:0)
如果错误确实在该行上,则您忘记使用cards
为new
分配内存。
这意味着,如果cards
的数据类型为ArrayList
,您应该执行以下操作:
ArrayList cards = new ArrayList();
在调用cards
的任何方法之前。
答案 1 :(得分:0)
您刚刚声明了您的列表但忘记初始化卡片列表。
在向其添加任何元素之前初始化卡片如下:
ArrayList<Card> cards = new ArrayList<Card>();