gpt4 book ai didi

java - 试图拿到一手牌来显示西装符号

转载 作者:行者123 更新时间:2023-11-29 07:50:28 24 4
gpt4 key购买 nike

我正在研究一种尝试显示手牌花色符号的方法,因此不是 4C,而是 4(club),其中 (club) 是梅花符号的 unicode。

对于 switch 语句,HEART、CLUB 等在我的程序顶部被声明为字符串,以获得正确的 unicode。

我的问题是,当我运行该方法时,包含“Card card = cards[i];”的行正在产生一个空指针异常,我不知道为什么。请帮助:)

我有“私有(private)卡[]卡;”在顶部。当我尝试执行 = hand.getCards 时,它会产生错误,因为 ArrayList 无法转换为 Card[]

这是我现在的方法。

private String displaySuits() {
for (int i = 0; i < hand.getCards().size(); i++) {
Card card = cards[i];
suits.append(" ");
suits.append(card.getRank());

switch (card.getSuit()) {
case SPADE:
suits.append(SPADE);
break;
case DIAMOND:
suits.append(DIAMOND);
break;
case CLUB:
suits.append(CLUB);
break;
case HEART:
suits.append(HEART);
break;
}

}
return suits.toString();
}

最佳答案

您忘记在方法 displaySuits 中定义 Card cards 的 ArrayList。

private String displaySuits() {

ArrayList<Card> cards = hand.getCards();
StringBuilder suits = new StringBuilder();

for (int i = 0; i < cards.size(); i++) {
Card card = cards[i];
suits.append(" ");
suits.append(card.getRank());

switch (card.getSuit()) {
case SPADE:
suits.append((char)'\u2660');
break;
case DIAMOND:
suits.append((char)'\u2666');
break;
case CLUB:
suits.append((char)'\u2663');
break;
case HEART:
suits.append((char)'\u2764');
break;
}

}
return suits.toString();
}

关于java - 试图拿到一手牌来显示西装符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21654581/

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