ブラックジャックゲームを作成する際に学校の割り当てに問題が発生します。 私たちは、クラスのスコア値をインタフェースの面の値から適用する必要があります。 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 'のマップを使用して、enum値とcards値の間の並べ替えを作成することもできます。 (最高の方法ではないかもしれませんが) –
SomeJavaGuy
簡単な方法の1つは、列挙型の値を切り替えてそこでのリターンケースを破棄することです。 –
次回は[mcve] – Jens