import java.util.Random;
public class DemoArrayElement {
public static void main(String arg[]) {
Random rand = new Random();
int[] freq = new int[7];
for (int roll = 1; roll < 10; roll++) {
++freq[1 + rand.nextInt(6)];
}
System.out.println("FACE\tFREQUENCY");
for (int face = 1; face < freq.length; face++) {
System.out.println(face + "\t\t" + freq[face]);
}
}
}
有人可以解释一下++freq[1+rand.nextInt(6)];
行代码。
答案 0 :(得分:4)
该程序模拟滚动模具10次。数组freq
用于计算每个面值被滚动的频率 - 索引表示面值,内容表示滚动的次数。因此,例如,freq[3]
包含3
已滚动的次数。
让我们看看++freq[1+rand.nextInt(6)];
并将其分开:
rand.nextInt(6)
调用Java的随机数生成器(java.util.Random
实例)并要求它提供0到5(含)之间的均匀分布的随机数。向它添加1会为您提供一个随机面值,形成一个骰子 - 1到6之间的数字。
如上所述,访问freq
数组(freq[1+rand.nextInt(6)]
)中的此索引将返回此面值随机遇到的次数。由于我们刚刚再次遇到它,这个数字会递增(++
运算符)。
答案 1 :(得分:2)
frec
是一个包含7个数字元素的数组。
++freq[1+rand.nextInt(6)];
表示从数组中预先增加一个随机元素。
示例:如果数组中的第二个元素是5
:
++freq[1];
会将其6
。