だから私は、カードのデッキを実装しなければならないラボを持っています (私たちは外部の助けを求めることが許されているので、ここで私は多くの頭を悩ませています)。num を作成するには、enum クラスを使用する必要があります。
スーツの場合:
public enum Suits {
CLUBS, HEARTS, DIAMONDS, SPADES
}
数字の場合:
public enum Numerals {
DEUCE(2), THREE(3), FOUR(4), FIVE(5), SIX(6), SEVEN(7), EIGHT(8), NINE(9),
TEN(10), JACK(11), QUEEN(12), KING(13), ACE(14);
}
私のカード クラスは非常に簡単ですが、次の 2 つのコード ブロックについてはよくわかりません。
public int compareTo (Card aCard){
if (aCard.aNumeral.equals(this.aNumeral) && aCard.aSuit.equals(this.aSuit)){
return 0;
}
else {
return -1;
}
}
と
public boolean equals (Card aCard){
if (this.compareTo(aCard) == 0){
return true;
}
else {
return false;
}
}
トリッキーな部分...デッキ...
したがって、Cloneable、Iterable、および Comparator を使用してデッキを実装する必要があります。
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
public class Deck implements Cloneable, Iterable<Card>, Comparator<Card> {
private ArrayList<Card> cards;
public Deck (){
for (Card c : cards){
}
}
私はコンストラクタをまとめるのに苦労しています。ArrayList を使用して、ソートされた 52 枚のカードを本質的に「保持」することを計画しています (ご覧のとおり)。しかし、最終的にはソートされたデッキを返さなければなりません。どこに行くべきかについての提案はありますか?