📄 puke.java
字号:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
/**
* 扑克
*/
public class PuKe implements IDataConstant{//Comparable
/*
* 花色
*/
private int pukeColor;
/*
* 大小
*/
private int pukeNum;
public PuKe(int pukeColor, int pukeNum){
this.pukeColor = pukeColor;
this.pukeNum = pukeNum;
}
public String getPukeColor(){
if(this.pukeColor == IDataConstant.R){
return IDataConstant.R_COLOR;
}else if(this.pukeColor == IDataConstant.B){
return IDataConstant.B_COLOR;
}else if(this.pukeColor == IDataConstant.F){
return IDataConstant.F_COLOR;
}else if(this.pukeColor == IDataConstant.P){
return IDataConstant.P_COLOR;
}else{
return IDataConstant.OTHER_COLOR;
}
}
public void setPukeColor(int pukeColor){
this.pukeColor = pukeColor;
}
public String getPukeNum(){
if(this.pukeNum == IDataConstant.A_NUM_VALUE){
return IDataConstant.A_STR_VALUE;
}else if(this.pukeNum == IDataConstant.J_NUM_VALUE){
return IDataConstant.J_STR_VALUE;
}else if(this.pukeNum == IDataConstant.Q_NUM_VALUE){
return IDataConstant.Q_STR_VALUE;
}else if(this.pukeNum == IDataConstant.K_NUM_VALUE){
return IDataConstant.K_STR_VALUE;
}else{
return "" + this.pukeNum;
}
}
public void setPukeNum(int pukeNum){
this.pukeNum = pukeNum;
}
public String toString(){
return this.getPukeColor() + " " + this.getPukeNum();
}
public static List createPuke(){
List puKeList = new ArrayList();
for(int i = 1; i <=4; i ++ ){
for(int j = 1; j <=13; j ++ ){
puKeList.add(new PuKe(i,j));
//System.out.println("puKeList:" + puKeList);
}
}
System.out.println("puKeList:" + puKeList);
return puKeList;
}
public int compareTo(Object obj){
if(obj == null || !(obj instanceof PuKe)){
return -1;
}
if(this.pukeColor != ((PuKe)obj).pukeColor){//this就是一个标杆,不管他有没有,和后面的对象的属性比较
return new Integer(this.pukeColor).compareTo(new Integer(((PuKe)obj).pukeColor));
}else{
return new Integer(this.pukeNum).compareTo(new Integer(((PuKe)obj).pukeNum));
}
}
}
/**
* 使用接口保持常量
*/
interface IDataConstant{
//特殊牌值
public static final int A_NUM_VALUE = 1;
public static final String A_STR_VALUE = "A";
public static final int J_NUM_VALUE = 11;
public static final String J_STR_VALUE = "J";
public static final int Q_NUM_VALUE = 12;
public static final String Q_STR_VALUE = "Q";
public static final int K_NUM_VALUE = 13;
public static final String K_STR_VALUE = "K";
//花色
public static final int R = 1;//红桃
public static final String R_COLOR = "R";//红桃
public static final int B = 2;//黑桃
public static final String B_COLOR = "B";//黑桃
public static final int F = 3;//红桃
public static final String F_COLOR = "F";//红桃
public static final int P = 4;//方片
public static final String P_COLOR = "P";//方片
public static final String OTHER_COLOR = "W";//其他花色
}
class TestPuKe{
public static void main(String[] args){
List myPuke = PuKe.createPuke();
if(myPuke != null){
Iterator myPuKeIterator = myPuke.iterator();
while(myPuKeIterator.hasNext()){
PuKe currentPuKe = (PuKe)myPuKeIterator.next();
System.out.println(currentPuKe);
}
}
/*
//洗牌
Collections.shuffle(myPuke);
if(myPuke != null){
Iterator myPuKeIterator = myPuke.iterator();
while(myPuKeIterator.hasNext()){
PuKe currentPuKe = (PuKe)myPuKeIterator.next();
System.out.println(currentPuKe);
}
}
//排序
Collections.sort(myPuke);
if(myPuke != null){
Iterator myPuKeIterator = myPuke.iterator();
while(myPuKeIterator.hasNext()){
PuKe currentPuKe = (PuKe)myPuKeIterator.next();
//System.out.println(currentPuKe);
}
}*/
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -