如何统计随机数生成器中0-9各数字的出现次数?
解决随机数字出现次数统计的问题
嘿,这问题很常见,用一个数组就能轻松搞定!我帮你修改了代码,加上了统计逻辑,还会把结果输出出来,一起来看看:
修改后的完整代码
int i = new Integer(tTala.getText()).intValue(); int n = 1; int j; // 创建长度为10的数组,索引0-9对应数字0-9,初始值默认是0 int[] numberCount = new int[10]; while (n <= i) { j = (int)(Math.random() * 10.0); tTolur.append("" + j + '\n'); // 每生成一个数字j,就把对应索引的计数加1 numberCount[j]++; n++; } // 遍历计数数组,把统计结果追加到输出里 for (int num = 0; num < numberCount.length; num++) { tTolur.append("数字 " + num + " 出现了 " + numberCount[num] + " 次\n"); }
关键逻辑解释
- 计数数组的作用:因为我们要统计的是0-9这10个固定数字的次数,用数组的索引直接对应数字,数组的值就是该数字出现的次数,这种方式既高效又好理解。
- 实时统计:每次生成随机数
j之后,立刻执行numberCount[j]++,相当于给这个数字的计数器加1,不会漏掉任何一次生成的数字。 - 输出统计结果:最后用for循环遍历数组,把每个数字和它的出现次数都追加到
tTolur中,这样你就能看到完整的统计结果了。
如果还有其他疑问,随时问我哦!
内容的提问来源于stack exchange,提问作者Gudmundur
相关产品推荐
相关产品推荐

