【问题标题】:Create a Deck of Cards with Two Arrays用两个数组创建一副纸牌
【发布时间】:2015-11-15 00:20:31
【问题描述】:

我正在做一个 Java 实验来制作一副纸牌。到目前为止,我设法让卡片类正常工作。这使用用于等级和花色的 getter 和 setter 方法以及 toString 方法设置卡片。套牌类中的一条指令说要创建一套套牌,为每种等级和花色组合使用 Card 对象。我对如何做到这一点没有信心,想知道是否有人能指出我正确的方向?到目前为止,这是我拥有的代码:

public class Deck
{
    public static final int number = 52;

【问题讨论】:

  • 您到底有什么问题?看起来你的循环已经在设置一个套牌了。
  • 我想知道这是否是正确的方法?此外,该类不会编译并突出显示“for(String suit : suits) {”并表示类型的非法开头。我不知道它为什么这样做。
  • 你的类没有构造函数。循环代码应该在构造函数中。
  • Card[] deck = NUM_CARDS; 是您的真实密码吗? NUM_CARDS 是什么?它是数组还是int?如果是 int,那么您可能正在寻找更像 Card[] deck = new Card[number]; 的东西。

标签: java arrays string class for-loop


【解决方案1】:

您不是在范围内声明您的逻辑,而是在类定义中声明它。您需要将您的逻辑放在Methodclass Main Method 中。我认为目前你可以咀嚼更多内容,遵循简单的教程并了解基本的 Java 概念,例如 method 声明、field 声明、主要方法等。在开始研究花哨的逻辑之前.编码愉快。

public class Deck
{
    public static final int number = 52;

    String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"};
    String[] suits = {"Clubs", "Diamonds", "Hearts", "Spades"};

    public Card[] deck = new Card[number];

    public void CreateDeck()
    {
        int i = 0;
        for(String suit : suits) {
            for(String rank : ranks) {
               deck[i++] = new Card(suit, rank);
            }
        }
    }
}

【讨论】:

    【解决方案2】:

    您的类没有构造函数(或您可以调用的某些方法)。循环代码应该在构造函数中。

    public class Deck
    {
        public static final int number = 52;
    
        String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"};
        String[] suits = {"Clubs", "Diamonds", "Hearts", "Spades"};
    
        //Card[] deck = NUM_CARDS;
        //int i = 0; 
    
        public Deck()
        {
            for(String suit : suits) {
                 for(String rank : ranks) {
                    deck[i++] = new Card(suit, rank);
                 }
            }
        }
    

    你需要正确定义你的数组。

    Card[] deck = new Card[number];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 2017-06-17
      • 2011-07-12
      相关资源
      最近更新 更多