【问题标题】:Adding Shuffled cards to a queue将洗好的牌添加到队列中
【发布时间】:2013-02-17 09:35:40
【问题描述】:

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

说明: • 具有“洗牌”的私有方法,可创建一个随机洗牌的 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 张牌的队列?我想我有洗牌的部分。任何帮助将不胜感激。

关于,

新手程序员

【问题讨论】:

  • 这是一种洗牌的好方法,但您仍然需要创建队列。所以你可以遍历数组并将每个数组添加到一个新队列中
  • 感谢您的回复,这是我遇到问题的部分,我已经阅读了队列但仍然不知道如何在这里实现它们,您愿意提供例如,如何创建一个队列,然后将每个队列添加到队列中?
  • 一种方法是制作一个链表,然后自己制作入队和出队函数

标签: java queue


【解决方案1】:

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

How do I instantiate a Queue object in java?

【讨论】:

  • 感谢您的回复。
【解决方案2】:

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

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

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

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


对于其余部分,这取决于您如何被指示代表“卡片”。如果它们只是整数,那么其余代码是合理的。这不是实施洗牌的好方法。 (Random 不是一个好的随机数生成器,但在这种情况下几乎不重要。)

【讨论】:

  • 感谢您的回复。
猜你喜欢
  • 2013-10-16
  • 2021-06-14
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
  • 1970-01-01
  • 1970-01-01
  • 2012-01-21
  • 1970-01-01
相关资源
最近更新 更多