发布网友
共2个回答
热心网友
java内的Collections类自带了一个shuffle洗牌算法。
static void shuffle(List<?> list)
使用默认随机源对指定列表进行置换。
static void shuffle(List<?> list, Random rnd)
使用指定的随机源对指定列表进行置换。
现在你可以把52张牌放进一个List里,调用他的shuffle算法打乱顺序。
热心网友
//参考了楼上的建议,调试成功……
我也是第一次用这个洗牌方法,还不错……
里面写了个方法,只要是生成扑克牌的list,排的花色我随便用的字母表示的,自己看吧,记得追加点分
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
public class XiPai {
private String Rt="rt"; //red
private String Bt="Bt"; //black
private String Fp="FP";
private String Mh="MH";
public List getPKList(){
String pkColor = "";
String pkNum;
List pkList = new ArrayList();
for(int i=1;i<=4;i++){
if(i==1){
pkColor=Rt;
}else if(i==2){
pkColor=Bt;
}else if(i==3){
pkColor=Fp;
}else{
pkColor=Mh;
}
for(int j=1;j<=13;j++){
pkNum=j+pkColor;
pkList.add(pkNum);
}
}
Collections.shuffle(pkList);
System.out.println(pkList.size());
for(int k=0;k<pkList.size();k++){
System.out.print(" "+pkList.get(k).toString());
}
return pkList;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
XiPai x = new XiPai();
x.getPKList();
}
}