编写一个Java枚举Rank表示扑克牌的点数,包括ACE,TWO,THREE,FOUR,FIVE,FIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING。定义一个私有数据域以保存一个布尔值,当扑克牌为人脸(JACK,QUEEN,KING)时为真。定义一个构造函数以初始化该域,一个访问者方法返回该域的值,以及一个toString方法。
编写一个测试程序演示该枚举
package com.crazycoder2010.datastructure.ch01;
public enum Rank {
ACE(false), TWO(false), THREE(false), FOUR(false), FIVE(false), SIX(false), SEVEN(
false), EIGHT(false), NINE(false), TEN(false), JACK(true), QUEEN(
true), KING(true);
private boolean face;
private Rank(boolean face) {
this.face = face;
}
public boolean isFace() {
return face;
}
@Override
public String toString() {
return this.name() + ",face:" + this.face;
}
}
测试程序
package com.crazycoder2010.datastructure.ch01;
public class RankTest {
public static void main(String[] args) {
//toString test
System.out.println(Rank.ACE);
System.out.println(Rank.JACK);
//access
System.out.println(Rank.EIGHT.isFace());//false
System.out.println(Rank.KING.isFace());//true
for(Rank rank : Rank.values()){
System.out.print(rank.name()+";");
}
}
}
输出结果:
ACE,face:false
JACK,face:true
false
true
ACE;TWO;THREE;FOUR;FIVE;SIX;SEVEN;EIGHT;NINE;TEN;JACK;QUEEN;KING;