用java编写一个发扑克牌的程序
发扑克牌:有52张扑克牌(从1到52),要随机分发到数组Card[52]中,请设计程序实现。
这是今天做的一个笔试题。
我自己能想到的就是用Random生成随机数,然后通过求余算法生成数字,放入Set集合中,知道集合中的元素个数为52,停止生成,再把Set中的数据放入数组中。
这样性能是不是不太好?具体随机数的生成怎么实现?
我想作为笔试题最后一题,应该考察的方面挺多的。
听大家的意见……
------解决方案-------------------- 不用考虑 扑克牌的花色?
------解决方案--------------------如果不考虑的话 看下这个
public class RandomPuke {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for(int i=1;i<=52;i++){
list.add(i); // 添加到数组列表去。
}
Collections.shuffle(list); // 让列表内容随机重组
int[] card =new int[52];
for(int s=0;s<list.size();s++){
card[s]=list.get(s); // 放到数组里
}
System.out.println(Arrays.toString(card)); //打印出来
}
}