boolean[] cards = new boolean[54];
for(int index=0;index<54;index++) {
cards[index]=false;
}
java.util.Random r = new java.util.Random();
int x;
for(int index=0;index<54;index++){
do {
x = java.lang.Math.abs(r.nextInt())%54;
} while (cards[x]!=false);
cards[x]=true;
System.out.print(x+" ");
}
System.out.println();
for(int index=0;index<54;index++) {
cards[index]=false;
}
java.util.Random r = new java.util.Random();
int x;
for(int index=0;index<54;index++){
do {
x = java.lang.Math.abs(r.nextInt())%54;
} while (cards[x]!=false);
cards[x]=true;
System.out.print(x+" ");
}
System.out.println();
本文介绍了一个使用Java实现的简单洗牌算法。通过创建一个布尔数组来标记每张牌是否已被抽取,并利用Java的Random类生成随机数,确保每张牌只被抽取一次。此算法可以用于需要随机抽取不重复元素的场景。
604

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



