日期:2014-05-20  浏览次数:20698 次

用java编写一个发扑克牌的程序
发扑克牌:有52张扑克牌(从1到52),要随机分发到数组Card[52]中,请设计程序实现。
这是今天做的一个笔试题。
我自己能想到的就是用Random生成随机数,然后通过求余算法生成数字,放入Set集合中,知道集合中的元素个数为52,停止生成,再把Set中的数据放入数组中。

这样性能是不是不太好?具体随机数的生成怎么实现?

我想作为笔试题最后一题,应该考察的方面挺多的。

听大家的意见……
------解决方案--------------------
引用:
这个是用Ramdom编写的,性能应该不太好
Java code
import java.util.Random;
public class CartDemo1 {
    public static void main(String[] args) {
        int[] cards = new CartDemo1().getCards();
        for (int i :……
 不用考虑 扑克牌的花色?
------解决方案--------------------
如果不考虑的话 看下这个
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));  //打印出来
    }
}