package com.kingdz.algorithm.time201705;
import java.util.Random;
/**
* 洗扑克牌
*
* @author kingdz
*
*/
public class Algo05 {
public static void main(String[] args) {
PorkerCard[] card = genCard();
output(card);
System.out.println();
shuffle(card);
output(card);
}
/**
* 洗牌操作
*
* @param card
*/
private static void shuffle(PorkerCard[] card) {
Random r = new Random(System.currentTimeMillis());
for (int i = 0; i < 1000; i++) {
int index = r.nextInt(card.length);
PorkerCard tmp = card[0];
card[0] = card[index];
card[index] = tmp;
}
}
/**
* 打印扑克牌
*
* @param card
*/
private static void output(PorkerCard[] card) {
for (int i = 0, j = card.length; i < j; i++) {
System.out.print(card[i] + " ");
if ((i + 1) % 13 == 0) {
System.out.println();
}
}
}
/**
* 生成扑克牌数组
*
* @return
*/
private static PorkerCard[] genCard() {
PorkerCard[] ret = new PorkerCard[52];
int index = 0;
for (int i = 0; i < 4; i++) {
String color = "红桃";
if (i == 1) {
color = "黑桃";
} else if (i == 2) {
color = "方块";
} else if (i == 3) {
color = "梅花";
}
ret[index] = new PorkerCard(color, "A");
index++;
for (int j = 1; j < 10; j++) {
ret[index] = new PorkerCard(color, "" + (j));
index++;
}
ret[index] = new PorkerCard(color, "J");
index++;
ret[index] = new PorkerCard(color, "Q");
index++;
ret[index] = new PorkerCard(color, "K");
index++;
}
return ret;
}
}
class PorkerCard {
private String color;
private String number;
public PorkerCard(String color, String number) {
super();
this.color = color;
this.number = number;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
@Override
public String toString() {
return "[" + color + "," + number + "]";
}
}
【算法】程序猿不写代码是不对的49
最新推荐文章于 2023-03-11 12:53:26 发布