JAVA 21点游戏。数组中的字符串?
我正在尝试制作一个简单的基于文本的21点游戏。我想知道如何将字符串放入数组中,或者使用字符串数组并在数组外为它们赋值。如果这有道理的话。下面是我的代码JAVA 21点游戏。数组中的字符串?,java,arrays,Java,Arrays,我正在尝试制作一个简单的基于文本的21点游戏。我想知道如何将字符串放入数组中,或者使用字符串数组并在数组外为它们赋值。如果这有道理的话。下面是我的代码 int deck[] = {2,3,4,5,6,7,8,9,10,Jack,Queen,King,Ace}; 显然,这是行不通的,因为数组用于整数。可能是一个字符串数组,然后按前面所述分配数字?祝你今天愉快 使用Enum: public enum Rank { DEUCE, THREE, FOUR, FIVE, SIX, SEVEN,
int deck[] = {2,3,4,5,6,7,8,9,10,Jack,Queen,King,Ace};
显然,这是行不通的,因为数组用于整数。可能是一个字符串数组,然后按前面所述分配数字?祝你今天愉快 使用Enum
:
public enum Rank {
DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT,
NINE, TEN, JACK, QUEEN, KING, ACE;
}
如果需要,可以添加值
然后,你的数组类型为
Rank[]
正确的方法是进行枚举,你可以给它赋值,你可以用它来计算你的游戏。你可以对值进行枚举,比如二、三……杰克、皇后、国王。
public enum CardValue {
Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace;
}
当您访问它时,您也必须将所有内容转换回正确的类型
字符串卡=(字符串)组[12];
int anotherCard=(整数)组[0]
如果必须-String deck[]={“2”,…}
为什么不创建带有等级、套件、名称等的卡片类。以后可能需要所有这些。然后你可以把这些卡片放在牌组中。然后你可以对套装做同样的处理,等等。公共枚举套装{梅花、钻石、红桃、黑桃;}
谢谢你的建议。我得仔细阅读一下Enum。我理解它是如何工作的以及为什么工作的,但对于如何实现它仍然有点模糊。非常感谢!
Object[] deck = new Object[13];
deck[0] = (Object)new Integer(2);
...
deck[12] = (Object)new String("Ace");
String card = (String)deck[12];
int anotherCard = (Integer)deck[0];