gpt4 book ai didi

java - NullPointerException 的问题

转载 作者:行者123 更新时间:2023-11-30 10:53:45 25 4
gpt4 key购买 nike

我正在编写一段代码,我正在处理一副纸牌。牌组中的每张牌都是具有等级和花色的 Card 类,两者都是枚举类型。我有一个包含 Card 对象列表的 Deck 类。在这个牌组类中,我有一种方法可以将卡片添加到牌组顶部(第一个可用索引)。

我的牌组是这样初始化的。

}
/** A new deck is initially empty, but has the capacity to hold
* all the cards in a standard deck. */
public Deck() {
Card[] cards = new Card[52];
}

然后我有如下添加卡的方法。

 /** Adds card to the top of this deck. */
public void add(Card card) {
for(int i = 0; i < 52; i++){
if(cards[i].equals(card)){
cards[i] = card;
break;
}
}
}

我在线路上收到 NullPointerException

if(cards[i].equals(card)){

想法是检查列表中的每个索引以找到第一个非空索引,但遇到了 NullPointerException。我该如何运行才能在我的 Card 对象列表中找到第一个可用索引?

最佳答案

首先执行 Null Check 然后继续:

if(cards[i]!=null && cards[i].equals(card)){
cards[i] = card;
break;
}

你可能会遇到的另一个问题是

cards[i] 未找到,因为 cards 的范围仅限于 Deck Constructor

所以试试这个

Card[] cards;
public Deck() {
cards = new Card[52];
}

关于java - NullPointerException 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33910159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com