所以我有这个枚举...
public enum Card {
ACE(1), TWO(2), THREE(3), FOUR(4), FIVE(5), SIX(6), SEVEN(7), EIGHT(8), NINE(9), TEN(10), JACK(10), QUEEN(10), KING(10);
private int value;
private Card(int value) {
this.value = value;
}
static int getCardValue(Card someCard)
{
return someCard.getValue();
}
int getValue()
{
return Card.values()[someCard];
}
问题是我需要能够打电话
getCardValue(card);
让它返回一张卡片的价值,就像5.我已经尝试了多件事情但无济于事。这适用于学校,getCardValue方法必须与现在完全一样;我唯一可以改变的是getValue里面的东西。所以我需要帮助搞清楚要放什么
int getValue()
{
return Card.values()[someCard];
}
有什么想法吗?
答案 0 :(得分:5)
想想简单!
int getValue()
{
return value;
}
value
指的是字段
private int value;
在构造函数中设置:
private Card(int value) {
this.value = value;
}
为每个枚举文字调用构造函数。这是您最终定义值的地方:
ACE(1), TWO(2), THREE(3), ...