Java中的枚舉是一種特殊類型的類,它表示了一組固定的常量。在撲克牌游戲中,花色和點(diǎn)數(shù)常常被用來(lái)表示撲克牌的不同類型。
public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES } public enum Rank { ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING }
以上代碼分別定義了花色和點(diǎn)數(shù)的枚舉類型。在Java中,枚舉類型被看作一種類,我們可以給它添加構(gòu)造函數(shù),方法等。對(duì)于花色和點(diǎn)數(shù)的枚舉,我們可以定義一個(gè)toString()方法來(lái)返回對(duì)應(yīng)的字符串。
public enum Suit { CLUBS("?"), DIAMONDS("?"), HEARTS("?"), SPADES("?"); private String symbol; private Suit(String symbol) { this.symbol = symbol; } public String toString() { return symbol; } } public enum Rank { ACE("A"), TWO("2"), THREE("3"), FOUR("4"), FIVE("5"), SIX("6"), SEVEN("7"), EIGHT("8"), NINE("9"), TEN("10"), JACK("J"), QUEEN("Q"), KING("K"); private String symbol; private Rank(String symbol) { this.symbol = symbol; } public String toString() { return symbol; } }
以上代碼添加了symbol屬性和構(gòu)造函數(shù),同時(shí)定義了toString()方法來(lái)返回對(duì)應(yīng)的字符串。
在實(shí)際使用過(guò)程中,我們可以將花色和點(diǎn)數(shù)結(jié)合起來(lái)表示一張撲克牌。
public class Card { private final Suit suit; private final Rank rank; public Card(Suit suit, Rank rank) { this.suit = suit; this.rank = rank; } public String toString() { return rank.toString() + suit.toString(); } }
以上代碼定義了Card類,其中包含了花色和點(diǎn)數(shù)屬性,并在構(gòu)造函數(shù)中初始化它們。我們還定義了toString()方法來(lái)返回對(duì)應(yīng)的字符串。這樣,我們就可以通過(guò)創(chuàng)建一個(gè)Card對(duì)象來(lái)表示一張撲克牌。
上一篇php golang出處
下一篇css三層符號(hào)