Tôi đã enum sau đó đại diện cho một CardRankSo sánh thứ hạng trong một enum
public enum CardRank
{
DEUCE('2'), TREY('3'), FOUR('4'), FIVE('5'), SIX('6'), SEVEN('7'),
EIGHT('8'), NINE('9'), TEN('T'), JACK('J'), QUEEN('Q'), KING('K'),
ACE('A');
private char symbol;
private CardRank(char symbol)
{
this.symbol = symbol;
}
public char getSymbol()
{
return this.symbol;
}
}
Các CardRank
được thể hiện theo thứ tự tăng dần. Tôi cần so sánh các cấp bậc để biết thứ hạng nào lớn hơn thứ hạng khác. Tôi có thể sử dụng toán tử >
với các giá trị số nhưng không phải với các giá trị char.
// this will print out TRUE for all numerical values compared
// but FALSE for the chars
if (card.getRank().getSymbol() > anotherCard.getRank().getSymbol()) {
System.out.println("true");
} else {
System.out.println("false");
}
Bất kỳ ý tưởng nào?
Sử dụng một sánh ở đây. Bạn có thể biến nó thành lớp bên trong công cộng tĩnh thành enum nếu bạn muốn. –
bạn có thể muốn thêm một ace thấp này nếu bạn quan tâm đến straights. –