我在創建二十一點遊戲時遇到了難度。 我們需要在界面中的面值中應用分數值。我想通過編寫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