一、问题
生成大量的随机数,并对落入各种不同范围类的数字,进行计数统计。
二、解决知识
Map 、 Random
三、实例代码
package bo;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class Statistics {
public static void main(String[] args) {
Random rand = new Random(47); // 47为随机种子,保证每次执行结果一样
Map<Integer,Integer> m = new HashMap<Integer,Integer>();
for(int i = 0 ; i < 1000; i++){
Integer num = rand.nextInt(20); // 数字
Integer frequency = m.get(num); // 出现的频率
frequency = ( frequency == null ? 1 : frequency + 1 ); // 频率 +1
m.put(num, frequency); // 相同主键 key ,会覆盖value
}
System.out.println(m); // 数字 = 出现频率
}
/*
输出结果:
{0=42, 1=44, 2=53, 3=43, 4=44, 5=53, 6=42, 7=53, 8=46, 9=56, 10=58, 11=55, 12=48, 13=55, 14=52, 15=50, 17=50, 16=53, 19=52, 18=51}
*/
}