【发布时间】:2014-06-19 20:01:49
【问题描述】:
我想计算一个随机数的出现。我会从 1 到 1,000,000,000 中随机挑选 1,000,000 个数字。
例如:当我输入 1000 时,它会显示在这 1,000,000 个数字中 1000 出现了多少次。
下面是我写的代码,不知道为什么总是输出0。你能帮我修一下代码吗?
我制作了一个哈希表并将链表放入其中以避免异常,因为 1,000,000,000 时程序内存不足。
public static void main(String[] args) {
Hashtable<Integer,LinkedList<Integer>> map
= new Hashtable<Integer,LinkedList<Integer>>();
int index;
int b;
int x;
for (b=0; b<1000000; b++){
x = (int) (Math.random()*1000000000)+1;
index = x % 10000;
if(map.get(index) == null){
map.put(index, new LinkedList<Integer>());
map.get(index).add(x);
}else{
map.get(index).add(x);
}
}
【问题讨论】:
-
很有可能(>999/1000,有更好的统计数据的人可以计算出来)您选择的数字被随机选择了 0 次。
-
@KevinL 是对的,这也只是制作哈希表。你不返回任何东西或打印你的结果......
-
尝试使用较小的数字,例如从 1 到 10 的 100 个随机数中,5 有多少?然后您可以将其扩展到更大的数字。
-
我试过循环1到100000,但都返回0。我没有显示输出方法
-
您正在检查 10000 而不是 1000 。向我们展示您的输出效果。