用java写出,随机产生10个1000以内的整数,统计出现的数字及出现的次数,并按照从大到小的顺序输出着10个数的值及出现的次数
时间: 2024-09-30 17:09:39 浏览: 35
java 控制台实现小学数学加减法题目随机生成并在计算后给出得分【源码+报告】
5星 · 资源好评率100%
在Java中,你可以使用ArrayList、HashMap以及Collections.sort等方法来实现这个功能。这里是一个简单的示例代码:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
// 创建一个列表来存储生成的随机数
ArrayList<Integer> numbers = new ArrayList<>();
// 随机生成10个1000以内的整数并添加到列表中
for (int i = 0; i < 10; i++) {
int randomNum = (int)(Math.random() * 1000);
numbers.add(randomNum);
}
// 使用HashMap来记录每个数字及其出现次数
HashMap<Integer, Integer> countMap = new HashMap<>();
for (int num : numbers) {
countMap.put(num, countMap.getOrDefault(num, 0) + 1);
}
// 按照值排序并遍历HashMap,打印结果
List<Map.Entry<Integer, Integer>> sortedEntries = new ArrayList<>(countMap.entrySet());
Collections.sort(sortedEntries, (a, b) -> b.getValue().compareTo(a.getValue()));
System.out.println("数字\t出现次数");
for (Map.Entry<Integer, Integer> entry : sortedEntries) {
System.out.println(entry.getKey() + "\t" + entry.getValue());
}
}
}
```
在这个代码中,我们首先生成了一个包含10个随机数的ArrayList,然后遍历这个数组,用HashMap来记录每个数字出现的次数。最后,我们将HashMap的entrySet转换为List并按值降序排序,再打印出每个数字及其出现次数。
阅读全文