4

由于英语不是我的第一语言,我有时很难理解老师关于她想要什么的指示。我将提供她想要什么、我编写的代码和我的问题的说明。

说明: • 有一个私有方法来“洗牌”,创建一个随机洗牌的 52 张牌的队列。使用随机类。

我的代码:

private void shuffling()
    {
        Random generator = new Random();  
        int[] cards = new int[52];  


        for (int i=0; i<cards.length; i++) 
        {
            cards[i] = i;
        }


        for (int i=0; i<cards.length; i++) 
        {
            int randomPosition = generator.nextInt(cards.length);
            int temp = cards[i];
            cards[i] = cards[randomPosition];
            cards[randomPosition] = temp;
        }
    }

问题:我是否按照老师的指示正确地完成了她的要求?如果我是,我的问题是,我如何创建一个随机洗牌的 52 张牌的队列?我认为我有洗牌部分。任何帮助,将不胜感激。

带着敬意,

一个新手程序员

4

2 回答 2

3

问题的Queue一部分将需要创建某个实现的类的实例java.util.Queue

使用您讲座中(毫无疑问)提供的 Java API 文档的链接:

  • 查看Queue界面(@MaxOvrdrv 提供了一个旧版本的链接……最好使用 Java 7 javadocs……去找他们!)
  • 查看实现的类Queue
  • 阅读类的描述
  • 选择一个适用于您的用例的(即一个简单的)
  • 阅读QueueAPI 方法并找出需要使用哪些方法将元素添加到队列
  • 编码它...

(我不会为您提供链接,因为您需要知道(并记住!)如何自己找到它们。)


For the rest, well it depends on how you have been instructed to represent the "cards". If they are simply integers, then the rest of the code is reasonable. That's not a bad way to implement shuffling. (Random is not a good random number generator, but that hardly matters in this case.)

于 2013-03-03T03:55:45.527 回答
2

这是一个关于如何在java中创建队列的链接:

如何在 java 中实例化 Queue 对象?

于 2013-03-03T03:52:36.287 回答