gpt4 book ai didi

java - BlackJack Java String[] 不工作

转载 作者:行者123 更新时间:2023-12-01 23:44:33 26 4
gpt4 key购买 nike

所以我在玩 Java 二十一点游戏时遇到了一些麻烦。我已经不再使用 HashMap 来表示卡名称和值,并将其转换为 String[],因为它更容易。然而,我似乎破坏了其中的一些代码:

private void createDeck(int numCards, int numSuits) {

deck = new ArrayList<Card>();
cardUsed = new ArrayList<Card>();
if ((numCards % numSuits) > 0) return;

for (int i=0; i < numSuits; i++) {
for(int j=1; j <= (numCards / numSuits); j++) {
deck.add(new Card(new Suit(i), j + "", j));
}
}
}

这不会运行,并给我带来了一个 Unresolved 编译问题:构造函数 Card(Suit, String, int) 未定义。但是我将 Card 的参数设置为 Card(Suit, String[], int)。有没有办法通过仍然使用字符串数组来解决这个问题?它强调了程序中的 deck.add(new Card(new Suit(i), j + "", j));

这是 Card.java 的源代码

public class Card  {

private String[] cardRank = new String[] {"Ace", "Two", "Three", "Four",
"Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King"} ;

private Suit suit = null;

private int cardValue = 0;

public Card(Suit suit, String[] cardRank, int cardValue) {
this.cardRank = cardRank;
this.suit = suit;
this.cardValue = cardValue;
}

public String toString() {
return cardRank + " of " + suit.getSuitName();
}

public String[] getCardRank() {
return cardRank;
}

public void setCardRank(String[] cardRank) {
this.cardRank = cardRank;
}

public Suit getSuit() {
return suit;
}

public void setSuit(Suit suit) {
this.suit = suit;
}

public int getCardValue() {
return cardValue;
}

public void setCardValue(int cardValue) {
this.cardValue = cardValue;
}

}

最佳答案

嗯,我认为这通常是糟糕的设计。但对于这个特定问题,答案可能是将 j + "" 替换为 new String[] {j + ""}

关于java - BlackJack Java String[] 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347474/

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