【问题标题】:How do I make an array of arrays in Java [duplicate]如何在Java中制作数组数组[重复]
【发布时间】:2014-08-18 04:53:15
【问题描述】:

我想创建一个程序来创建一副纸牌并拥有一组纸牌。每张牌也是一个数组,包含两个值,花色和值。

因此您可以执行card[1] = [1,5] 之类的操作,其中 1 是套件的等级,5 是卡的价值。

我已经很久没有使用 Java 了,所以这是我重新教我如何编程的项目。

提前感谢您的帮助!

【问题讨论】:

标签: java arrays arraylist


【解决方案1】:
int[][] cards = new int[52][2];

因此,cards[0] 将是第一张卡片的值,一个包含两个元素的数组。例如,cards[0][0] 将是第一张牌的花色(如果花色在价值之前)。

但考虑制作一个 Card 对象数组,并让 Card 对象有两个字段。它的优点是不那么混乱(你会永远记住哪个先出现),更容易阅读(cards[0].getSuit()cards[0][0] 更好),如果你想添加更多附件数据,它会更容易而不是必须将第三个元素添加到数组中。

【讨论】:

    【解决方案2】:

    创建一个卡片对象数组会更好,因为它更易于阅读。 您可以像这样创建 ArrayListCard 对象:

    ArrayList<Card> deck = new ArrayList<Card>();
    

    您的卡片类别可能如下所示,我选择字符串作为价值和花色,但您可以使用整数。

    public class Card
    {
    
        private String suit;
        private String value;
    
        public Card(String suit, String value)
        {
            this.suit = suit;
            this.value = value;
        }
    
        public String getSuit()
        {
            return suit;
        }
    
        public void setSuit(String suit)
        {
            this.suit = suit;
        }
    
        public String getValue()
        {
            return value;
        }
    
        public void setValue(String value)
        {
            this.value = value;
        }
    
    }
    

    【讨论】:

      【解决方案3】:

      这是一个尝试:

      //declare a class
      public class Card
      {
         public String[] myStringArray1 = new String[10];
      }
      
      //declare an arrayof type Card
      public Card[] myStringArray2 = new Card[10];
      

      myStringArray2 是一个数组数组。

      【讨论】:

        猜你喜欢
        • 2011-06-14
        • 2012-04-08
        • 1970-01-01
        • 2013-07-27
        • 1970-01-01
        • 1970-01-01
        • 2012-04-25
        • 2017-03-19
        • 1970-01-01
        相关资源
        最近更新 更多