思路:
把所有牌放入一个数组然后产生随机下标,与数组里面的值进行交换。
具体实现代码:
import java.util.Random;
public class aa {
public static void main(String[] args) {
//花色
String[] huases={"♠","♥","♧","♢"};
//所有点数
String[] diansu={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String [] wan={"大王","小王"};
String[] cc= new String[54];
for (int i = 0; i < cc.length; ) {
if (i<52) {
//把数组huase与diansu进行遍历
for (String huase : huases) {
for (String suzi :diansu) {
//把数组huase与diansu进行拼接然后加入数组cc里面
cc[i]=huase+suzi;
i++;
}
}
}else {
//把大小王加入数组cc
for (String s : wan) {
cc[i]=s;
i++;
}
}
}
//随机数工具包
Random r=new Random();
for (int i= 0; i < cc.length; i++) {
//定义随机数的范围
int index=r.nextInt(54);
//交换随机下标的值
String a=cc[i];
cc[i]=cc[index];
cc[index]=a;
}
//输出交换后的数组cc
for (int i = 0; i < cc.length; i++) {
System.out.print(cc[i]+"\t");
}