java程序 循环n次,随机生成m以内 的整数,存放到集合中,统计各个随机数出现的次数,并按次数

java程序循环n次,随机生成m以内的整数,存放到集合中,统计各个随机数出现的次数,并按次数降序输出... java程序 循环n次,随机生成m以内 的整数,存放到集合中,统计各个随机数出现的次数,并按次数降序输出 展开
 我来答
百度网友32e3c4c
推荐于2016-09-14 · 超过11用户采纳过TA的回答
知道答主
回答量:17
采纳率:0%
帮助的人:16.7万
展开全部
// java程序循环n次,随机生成m以内的整数,存放到集合中,统计各个随机数出现的次数,并按次数降序输出
// m 和 n 的值自定义

// 生成的整数范围
private static final int M = 5;

// 循环的次数
private static final int N = 10;


/**
 * 随机生成m以内的整数
 */
public static int getRandomNumber() {
return (int) (Math.random() * M);
}


/**
 * 循环n次,把生成的整数存在HashMap中 key -- 整数,value -- 整数出现的次数
 */
public static Map getNumberAndTime() {
Map numberAndTime = new HashMap();
System.out.println("------------------输出随机数------------------");
for (int i = 0; i < N; i++) {
int temp = getRandomNumber();
System.out.print(temp + "\t");
// 判断整数是否出现过
if (numberAndTime.get(temp) != null ) {
// 已出现,value + 1
numberAndTime.put(temp, Integer.parseInt(numberAndTime.get(temp).toString()) + 1);
} else {
// 未出现,那本次出现的整数就是第一次
numberAndTime.put(temp, 1);
}
}
return numberAndTime;
}

public static void main(String[] args) {
Map map = getNumberAndTime();
System.out.println("\r" + "------------------输出每个整数出现的次数------------------");
// 迭代
for (Iterator iterator = map.keySet().iterator(); iterator.hasNext();) {
Integer number = (Integer) iterator.next();
System.out.println("整数" + number + "出现的次数:" + map.get(number) + "次");
}
List<Map.Entry<Integer, Integer>> list = new ArrayList<Map.Entry<Integer, Integer>>(map.entrySet());
// 排序
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer> e1,
Map.Entry<Integer, Integer> e2) {
// 降序
return (e2.getValue() - e1.getValue());
// return (e1.getValue() - e2.getValue());(升序)
}
});
System.out.println("------------------排序后输出------------------");
for (int i = 0; i < list.size(); i++) {
Entry<Integer, Integer> entry = list.get(i);
System.out.println("整数" + entry.getKey() + "出现的次数:" + entry.getValue() + "次");
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式