package test.com;public class Pocker { //假设扑克牌以BA,H2,C3,D4格式存储,B,H,C,D--黑桃,红桃,草花,方片,A~K为牌面值 private String[] pocker = new String[52]; private String[] num = new String[]{"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; private char[] flower = new char[]{'B','H','C','D'};
public Pocker(){ int n = 0; for(int i = 0;i < flower.length;i++){ for(int j = 0;j < num.length;j++){ pocker[n++] = (flower[i] + num[j]); } } }
//假设扑克牌以BA,H2,C3,D4格式存储,B,H,C,D--黑桃,红桃,草花,方片,A~K为牌面值
private String[] pocker = new String[52];
private String[] num = new String[]{"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
private char[] flower = new char[]{'B','H','C','D'};
public Pocker(){
int n = 0;
for(int i = 0;i < flower.length;i++){
for(int j = 0;j < num.length;j++){
pocker[n++] = (flower[i] + num[j]);
}
}
}
public void print(){
for(int i = 1;i <= pocker.length;i++){
System.out.print(pocker[i -1] + " ");
if(i % num.length == 0){
System.out.println();
}
}
}
/*洗牌方法*/
public void shuffle(){
for(int i = 0;i < pocker.length;i++){
String temp = pocker[i];
int n = (int)(Math.random() * pocker.length);//随机一个0-51的数
pocker[i] = pocker[n];
pocker[n] = temp;
}
}
}
package test.com;public class Test { public static void main(String[] args) {
// TODO Auto-generated method stub
Pocker mPocker = new Pocker();
System.out.println("洗牌前");
mPocker.print(); System.out.println("洗牌后");
mPocker.shuffle();
mPocker.print();
}}结果:
洗牌前
BA B2 B3 B4 B5 B6 B7 B8 B9 B10 BJ BQ BK
HA H2 H3 H4 H5 H6 H7 H8 H9 H10 HJ HQ HK
CA C2 C3 C4 C5 C6 C7 C8 C9 C10 CJ CQ CK
DA D2 D3 D4 D5 D6 D7 D8 D9 D10 DJ DQ DK
洗牌后
HJ B4 D10 CJ D4 DQ H2 H10 H9 C4 BK B6 D8
B10 H6 BA B9 D5 B8 H4 CA D9 HQ CQ C2 CK
C6 C3 B2 C7 DK C9 BJ DA D3 C5 D2 D6 H7
C8 B3 B5 H3 BQ D7 B7 DJ C10 HA HK H8 H5