我想创建一个程序来创建一副牌并拥有一系列牌。每张卡片也是一个包含两个值,适合和值的数组。
所以你可以做card[1] = [1,5]
之类的事情,其中1是套房的等级,5是卡的价值。
自从我使用Java以来已经很长时间了,所以这是我重新学习如何编程的项目。
提前感谢您的帮助!
答案 0 :(得分:8)
int[][] cards = new int[52][2];
那么cards [0]将是第一张牌的值,一个有两个元素的数组。例如,卡[0] [0]将是第一张牌的套装(如果套装出现在价值之前)。
但是考虑制作一个Card对象数组,并让Card对象有两个字段。它的优点是不那么容易混淆(你会永远记住哪个是第一个),更容易阅读(cards[0].getSuit()
比cards[0][0]
更好),如果你想添加更多的辅助数据,它比使用第三个元素到数组更容易。
答案 1 :(得分:0)
创建一个卡片对象数组会更好,因为它更具人性化。
您可以创建ArrayList
个Card
个对象:
ArrayList<Card> deck = new ArrayList<Card>();
您的卡片类可能如下所示,我选择了Strings作为价值和套装,但您可以使用整数。
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;
}
}
答案 2 :(得分:0)
这是一次尝试:
//declare a class
public class Card
{
public String[] myStringArray1 = new String[10];
}
//declare an arrayof type Card
public Card[] myStringArray2 = new Card[10];
myStringArray2
是一个数组数组。