循环中的数组用法

时间:2018-06-12 04:55:32

标签: java arrays

counts[d1 + d2] += 1到底做了什么?这是我的代码:

//call simulate(10)
public static void simulate(int rolls) {
        Random rand = new Random();
        int[] counts = new int[13];

        for (int k = 0; k < rolls; k++) {
            int d1 = rand.nextInt(6) + 1;
            int d2 = rand.nextInt(6) + 1;

            System.out.println(d1+"+"+d2+"+"+"="+(d1+d2));

            counts[d1 + d2] += 1;
        }

        for (int k = 2; k <= 12; k++) {
            System.out.println(k + "'s=\t" + counts[k] + "\t" + 100.0 * counts[k]/rolls);
        }
}

1 个答案:

答案 0 :(得分:2)

d1d2是1-6个范围内的2个随机数。当它们组合时,它们可以给出的最大结果是12,使它们成为计数[]中的随机索引。

现在是下一部分: counts[d1 + d2] += 1;

此处+=是二元运算符。这意味着你需要2个操作数来执行任何操作。

它做的是

  

计算[d1 + d2] + = 1;

     

获取解释为

     

计数[d1 + d2] =计数[d1 + d2] + 1;

你在这里做的是用 索引 [d1 + d2]重新初始化数组中的变量并向其添加1。