德州扑克的面向对象建模
*使用了枚举(enum)
*使用了Comparable接口
枚举类牌等级Rank 花色Suit
Rank.java
public enum Rank{
ACE("A",1),TWO("2",2),THREE("3",3),FOUR("4",4),FIVE("5",5),
SIX("6",6),SEVEN("7",7),EIGHT("8",8),NINE("9",9),TEN("10",10),
JACK("J",11),QUEEN("Q",12),KING("K",13);
private String name;
private int r;
Rank(String name, int r){
this.name=name;
this.r=r;
}
public int getR() {
return r;
}
}
Suit.java
public enum Suit{
SPADE(1),HEART(2),CLUB(3),DIAMOND(4);
private int index;
public int getIndex() {
return index;
}
Suit(int index){
this.index=index;
}
}
对单张扑克牌抽象建模
Card.java
public class Card {
private Rank rank;
private Suit suit;
public Card(Rank rank,Suit suit){
this.rank=rank;
this.suit=suit;
}
public Rank getRank() {
return rank;
}
public Suit getSuit() {
return suit;
}
@Override
public String toString() {
return suit.name()+" "+rank.getR();
}
}
五张扑克牌组成的集合
CardSet.java
import java.util.Arrays;
import java.util.Comparator;
public class CardSet implements Comparable {
private Card[] cards = new