random()如何处理数组的索引?

时间:2015-04-10 21:46:06

标签: java random

请有人解释这个代码.. 我想知道随机数是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)]++;
}

2 个答案:

答案 0 :(得分:2)

当使用6作为参数调用nextInt method时,它会在05之间返回一个随机数。添加1后,会将范围转换为16之间。

16之间的数字被视为数组访问表达式的数组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。这只是一件额外的事情