/**
* 乱序洗扑克牌
* 思想:
* 先把54张牌放到一个数组中
* 然后遍历该数组,每一步都随机生成一个介于1-54之间的整数
* 然后将当前牌与该整数号牌互换
* 遍历完成后即生成乱序的扑克牌
*/
package al;
public class ShuffleCard {
public static void main(String[] args) {
final int N = 54;
int[] Cards = new int[N+1];
int tmp;
//初始化数组
for(int i=1; i<=N; i++) {
Cards[i] = i;
}
//随机生成,并且交换
for(int i=1; i<=N; i++) {
int j =(int)( Math.random() * N);
if (j==0)
j =1;
if (i!=j) {
tmp = Cards[i];
Cards[i] = Cards[j];
Cards[j] = tmp;
}
}
//输出结果
for(int i=1; i<=N; i++) {
System.out.print(Cards[i]+" ");
}
}
}