请有人解释这个代码.. 我想知道随机数是1到6之间? 或者此步骤生成随机数并将其初始化为频率[1 + generator.nextInt(6)] ++; 如果错了,有人可以解释最后的陈述..
frequency=new int[7];
public void rollIt() {
Random generator = new Random();
for(int i=1;i<frequency.length;i++)
frequency[1+generator.nextInt(6)]++;
}
答案 0 :(得分:2)
当使用6
作为参数调用nextInt
method时,它会在0
和5
之间返回一个随机数。添加1
后,会将范围转换为1
和6
之间。
1
和6
之间的数字被视为数组访问表达式的数组frequency
的索引。然后++
运算符递增数组访问表达式选择的任何元素。
最后,frequency
数组保存每个卷的频率计数,索引用作滚动的数字,而元素中的数字值是频率。
答案 1 :(得分:0)
应该是
Int[]frequency = new int [x];
For (int i=0; i<frequency.length; i++){
frequency [i] = generator.nextInt(6)+1
}
当您为x实例化数组的大小时,您可以询问用户需要多大的数组并将其答案设置为x。这只是一件额外的事情