【问题标题】:Java array countersJava 数组计数器
【发布时间】:2013-02-18 16:06:44
【问题描述】:

我正在练习使用新的波士顿教程,但是有一个程序我并不完全理解。该程序旨在计算每个掷骰子中出现的数字的频率,并将结果存储在一个数组中。我遇到的问题是 ++freq[1+newDice.nextInt(6)]。我了解[1+newDice.nextInt(6)];但是数组如何知道每次出现数字时将每个索引加一?

Random newDice = new Random ();

        int freq[] = new int [7];

        for(int i = 1; i<= 1000; i++)
        {
            ++freq[1+newDice.nextInt(6)];
        }

        System.out.println("Dice Number\tFrequency");
        for(int i = 1; i< freq.length; i++)
        {
            System.out.println(i+"\t\t"+freq[i]);

        }

【问题讨论】:

    标签: java arrays random counter


    【解决方案1】:

    它正在递增存储在数组中该位置的值。它没有增加数组索引。

    相当于:

    int index = 1+newDice.nextInt(6);
    int f = freq[index];
    ++f;
    freq[index] = f;
    

    【讨论】:

    • 感谢 Graham 的澄清。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多