用Java生成的随机数

Jor*_*nes 2 java arrays random numbers generator

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

for (int roll = 1; roll <=6000000; roll++)
     ++frequency[1 + randomNumbers.nextInt(6)];
Run Code Online (Sandbox Code Playgroud)

在此之前,我导入了Random类,并创建了一个名为randomNumbers的新对象,并将变量frequency声明为具有7个整数的数组.我正在阅读的这本书告诉我,上面的这一行掷了600万次,并使用模具值作为频率指数.

据我所知,这是在迭代中经历的600万次它是否在它每次在身体中所说的,但是我没有在身体中看到它将任何变量设置为等于随机数.我认为我遗漏的最重要的事情就是增加频率[]意味着什么,因为据我所知,在括号内有一个1到6之间的随机数加到1.所以600万次迭代应该按频率[ 1]通过频率[7]如果它有可能发生,但即使它通过它我也看不出它是如何设置任何等于那些数组的东西.

有人可以一步一步向我解释这行代码barney风格吗?我似乎无法绕过它.

小智 6

这个例程可以分解为这个

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

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