【问题标题】:Creating a Deck of Cards创建一副纸牌
【发布时间】:2015-01-08 00:15:08
【问题描述】:

我似乎不知道如何制作这副简单的纸牌。如果有人可以举个例子说明“你的代码放在这里”部分的内容,那将非常有帮助。

通过在以下主要方法中输入合适的代码代替注释,创建一副纸牌:

public class Card 
  { 
    private String mySuit; 
    private int myValue; 

    public Card( String suit, int value ) 
    { 
      mySuit = suit; 
      myValue = value; 
    } 

    public String name() 
    { 
      String[] cardNames =  
        { 
          "Deuce", "Three", "Four", "Five", 
          "Six", "Seven", "Eight", "Nine", "Ten", 
          "Jack", "Queen", "King", "Ace" 
        }; 

      return cardNames[ myValue - 2 ] + " of " + mySuit; 
    } 
  } 

  public class MainClass 
  { 
    public static void main( String[] args ) 
    { 
      Card[] deck = new Card[ 52 ]; 
      String[] suits = { "spades", "hearts", "diamonds", "clubs"  }; 

      int i; 
      for ( i = 0 ; i < suits.length ; i++ )
      {
        for ( int k = 2 ; k <= 14 ; k++ ) 
        {
          // your code goes here

        }
      }  

      for ( Card card : deck ) 
        System.out.println( card.name() ); 
    } 
  }    

【问题讨论】:

  • 看起来您已经复制并粘贴了您的家庭作业。到目前为止,您尝试过什么?
  • 赌场扑克发牌员被教导使用术语“deuce”和“trey”,而不是“two”和“three”。
  • @Quill 这是“二”的正常名称,例如在扑克中。
  • @Quill Bridge 玩家(我是,当我有时间时)经常将 2 称为“平局”。
  • 虽然应该指出,虽然“ace”、“deuce”和“trey”是卡片的常用术语,但这些术语本身起源于 dice。

标签: java arrays object playing-cards


【解决方案1】:

我没有时间对此进行测试,但我们的意图是这样的:

deck[13 * i + k - 2] = new Card(suits[i], k);

虽然我个人也会将整数用于西装——只是浪费时间和空间来使用字符串。

【讨论】:

  • 非常感谢,我不知道为什么我不能得到这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 1970-01-01
  • 2023-01-11
  • 2011-07-12
相关资源
最近更新 更多