0
我需要將比較器類添加到我用Java代表Card的類中。一個比較(compareAscending)將牌按升序排序,首先按套裝排序,然後排序(即適合黑桃,紅桃,鑽石,俱樂部,然後按價值排序)。第二個比較器(compareRank)按照排名的升序排列,即所有的兩個都是第一個,然後是所有的三個。 。在Java類中插入Comparator類
西裝和等級都枚舉和代碼對他們來說是低於
enum Rank {
TWO(2), THREE(3), FOUR(4), FIVE(5), SIX(6), SEVEN(7), EIGHT(8),
NINE(9), TEN(10), JACK(10), QUEEN(10), KING(10), ACE(11);
private int value;
Rank(int i) {
value = i;
}
public int getValue() {
return value;
}
public Rank getPrevious() {
return values()[ordinal() > 0 ? ordinal() - 1 : 0];
}
}
enum Suit {
CLUBS, DIAMONDS, HEARTS, SPADES;
public static Suit randomSuit() {
Random random = new Random();
return values()[random.nextInt(values().length)];
}
}
香港專業教育學院從未使用過比較類,所以想知道如果有人可以解釋我如何去插入呢?他們是否與讓班級具有可比性(是)相同?
在此先感謝。
你可以用這些比較方法創建一個Card類。只需使用'.ordinal()'獲取枚舉數組中的枚舉位置並像這樣比較它們即可。 – vedi0boy
你正在問一個教程。爲什麼*特別*你不能自己寫代碼? – Raedwald
您不需要「插入」它們,只需製作兩個「比較器」實現,然後將該比較器的實例傳遞給排序函數以供其使用。 – Krease