发布网友 发布时间:2022-04-22 07:35
共1个回答
热心网友 时间:2022-06-17 20:21
class Card {
// 0 - 3, 分别代表四种花色
int color;
// 1-13,分别代表13张牌
int value;
public Card(int index) {
value = index % 13 + 1;
color = index / 13;
}
}
/**
* 初始化52张牌
*/
public static void init() {
Card[] cs = new Card[52];
for (int i = 0; i < 52; i++) {
cs[i] = new Card(i);
System.out.println(cs[i]);
}
}
/**
* 随机发牌
*/
public static void ran() {
// 定义一个序列,每次从中提取一个元素
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 52; i++)
list.add(i);
Card[] cs = new Card[52];
// 随机小于当前序列长度的数,从序列中提取一个
int max = 0;
while (max < 52) {
System.out.println(max);
Random r = new Random();
int ii = max < 51 ? r.nextInt(51 - max): 0;
cs[max] = new Card(list.get(ii));
list.remove(ii);
max++;
}
for (Card c : cs)
System.out.println(c);
}