/**
* 乱序洗扑克牌
* 思想:
* 先把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]+" ");
}
}
}
Java实例16 - 乱序洗牌
最新推荐文章于 2024-03-18 11:42:13 发布
本文介绍了一种通过随机交换实现扑克牌乱序的算法。首先将54张牌编号存入数组,接着遍历数组并随机选取另一张牌进行位置交换,最终实现牌序的随机化。

1066

被折叠的 条评论
为什么被折叠?



