【问题标题】:Want to generate random numbers. simulating rolling dice想要生成随机数。模拟掷骰子
【发布时间】:2013-02-15 11:51:11
【问题描述】:

我正在尝试加载两个数组。代表掷骰子的可能结果(1-6)。第一个数组加载了第一个骰子结果和第二个数组.....我正在努力将两个数组保持在一个循环中,该循环管理骰子滚动的次数,并且不生成重复的结果。相信我需要在每卷之间重新播种,任何帮助将不胜感激。

电流输出: 骰子一:5 骰子二:5 骰子一:3 骰子二:3 骰子一:1 骰子二:1 骰子一:6 骰子二:6 骰子一:6 骰子二:6 骰子一:2 骰子二:2 骰子一:5 骰子二:5 骰子一:2 骰子二:2 骰子一:1 骰子二:1 骰子一:1 骰子二:1 第二卷总是匹配第一卷

我写的如下:

int min = 1;
    int max = 6;
    for (int i = 0; i < 10; i++)
    {
        Random rand;
        rand = new Random();

        int randomNumber = rand.nextInt(max) + min;
        diceOne[i] = randomNumber;
        System.out.print("Dice one: ");
        System.out.print(diceOne[i] + " ");


        int randomNumber2 = rand.nextInt(max) + min;

        diceTwo[i] = randomNumber2;
        System.out.print("Dice two: ");
        System.out.print(diceOne[i]);
        System.out.println();

【问题讨论】:

  • 为什么每次循环都重新初始化 RNG?

标签: random numbers generator dice


【解决方案1】:

diceTwo 从不使用。试试下面的代码

 int randomNumber = rand.nextInt(max) + min;
            diceOne[i] = randomNumber;
            System.out.print("Dice one: ");
            System.out.print(diceOne[i] + " ");


            int randomNumber2 = rand.nextInt(max) + min;

            diceTwo[i] = randomNumber2;
            System.out.print("Dice two: ");
            System.out.print(diceTwo[i]); //System.out.print(diceOne[i]);
            System.out.println();

【讨论】:

  • 哇,非常感谢,当我正在学习编程时,我意识到有时最容易解决的问题会困扰我最长时间。
【解决方案2】:

嗯,看起来您两次都打印出diceOne[i]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-12
    • 2014-02-28
    • 1970-01-01
    • 2018-01-03
    • 2019-03-09
    • 1970-01-01
    • 2014-10-07
    相关资源
    最近更新 更多