我在创建二十一点游戏时遇到了难度。 我们需要在界面中的面值中应用分数值。我想通过编写Ace(1),Two(2)...直接修改枚举,但我们不允许修改接口。有没有其他方法可以应用这个值?在接口的枚举中设置一个类的值
public interface PlayingCard
public enum Value
{
Ace, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King
};
public class PlayingCardImp implements PlayingCard {
private Suit suit;
private Value value;
public PlayingCardImp (Value value, Suit suit)
{
this.value = value;
this.suit = suit;
}
@Override
public int getScore()
{
@return the score value of this card (Ace=1, J, Q, K=10, All others int of face value)
return 0;
}
}
您还可以使用Map作为Map来创建枚举值和卡片值之间的关系。 (尽管它可能不是最好的方法) –
SomeJavaGuy
一种简单的方法是在枚举值上进行切换并确定返回的情况。 –
下一次请提供[mcve] – Jens