java中Math.random();算法

来源:百度知道 编辑:UC知道 时间:2024/05/04 18:43:00
52张扑克红桃,黑桃,草花,方片得A,2,3,4,5,6,7,8,9,10,J,Q,K随机分给4个人输出
用2个一维数组2,3,4,5,6,7,8,9,10,J,Q,K,A一个数组。红桃,黑桃,草花,方片一个数组
就是要每次减一个元素这种算法
要写出算法的代码 谢谢

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Card {

public static void main(String[] args) {
List<String> list=new ArrayList<String>();
//初始化
for(int i=0;i<4;i++){
for(int j=0;j<13;j++){
list.add("花色:"+(i+1)+"大小:"+(j+1));
}
}
//洗牌.都是随即分配洗不洗无所谓
// Collections.shuffle(list);
// for(String s:list){
// System.out.println(s);
// }
//分牌
Random random=new Random();
for(int j=0;j<4;j++){
System.out.println("发给第"+(j+1)+"个人的牌:");
for(int i=0;i<13;i++){
System.out.println(list.get(random.nextInt(list.size()-1)));
}
}
}
}

把A,2,3,4,5,6,7,8,9,10,J,Q,K放进list!

这个还算小复杂!
要用hashmap放人和牌, Collections.shuffle(list)的一个方法洗牌!

用Math.random()这个就麻烦了,要写个算法,每次减一个元素!
如果是一副牌还好办!2个数组分别存放花色和牌号,然后组合放进list里,洗牌