gpt4 book ai didi

java - Java 中的随机数生成

转载 作者:行者123 更新时间:2023-12-02 00:44:20 25 4
gpt4 key购买 nike

我是编程新手,刚刚开始学习数组,并且做得很好,直到我找到了一个在其中存储随机数的数组。下面的代码行是最让我困惑的。

for (int roll = 1; roll <=6000000; roll++)
++frequency[1 + randomNumbers.nextInt(6)];

在此之前,我导入了 Random 类并创建了一个名为 randomNumbers 的新对象,并将可变频率声明为包含 7 个整数的数组。我正在读的书告诉我,上面的这一行掷骰子 600 万次,并使用骰子值作为频率指数。

我知道这会在迭代中经历 600 万次,每次都会按照主体中的说明进行操作,但是我在主体中没有看到它将任何变量设置为等于随机数。我认为我缺少的最大的事情是增加频率[]意味着什么,因为我知道括号内有一个 1 到 6 之间的随机数被添加到 1。因此,六百万次迭代应该通过频率[] 1] 到频率[7](如果有机会发生),但即使它通过了它们,我也看不出它如何设置等于这些数组的任何内容。

有人可以向我解释一下巴尼风格的这行代码吗?我似乎无法理解它。

最佳答案

这个例程可以分解成这样

for (int roll = 1; roll <=6000000; roll++) {
int the_random_number = 1 + randomNumbers.nextInt(6);
frequency[the_random_number] = frequency[the_random_number] + 1;
}

代码randomNumbers.nextInt(6)返回 0 到 5 之间的数字。例如,如果返回 3,则添加 1,因此 the_random_number变为 4。之后,将 4 的出现频率增加 1 并将其存储在 frequency 中。数组(frequency[4] = frequency[4] + 1;)。

关于java - Java 中的随机数生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32304238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com