繁体   English   中英

JAVA 21点游戏。 数组内的字符串?

[英]JAVA blackjack game. String inside of array?

我正在尝试制作一个简单的基于文本的二十一点游戏。 我想知道如何将字符串放置在数组中,或使用String数组并在数组之外为其分配值。 如果有道理。 以下是我拥有的代码;

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[]

您可以为这些值制作一个ENUM,例如2、3 ... Jack,Queen,King。

public enum CardValue {
  Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace;
}
  

如果您确实需要数组中的整数和字符串,则可以使用Polymorphism,如下所示:

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]; 

正确的方法是进行枚举,为此您可以分配它的值来计算游戏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM