java10-2 使用 Map 集合的 TreeMap 类来编写一个程序,读取个数不定的整数,然后 查找其中出现频率最高的数字。当输入为 0 时,表示结束输入。
时间: 2024-05-07 18:19:10 浏览: 147
可以使用 TreeMap 来统计数字出现的频率,key 存储数字,value 存储出现次数。具体实现如下:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
TreeMap<Integer, Integer> map = new TreeMap<>();
int maxFreq = 0;
int maxNum = 0;
while (true) {
int num = scanner.nextInt();
if (num == 0) {
break;
}
int freq = map.getOrDefault(num, 0) + 1;
map.put(num, freq);
if (freq > maxFreq) {
maxFreq = freq;
maxNum = num;
}
}
System.out.println("出现频率最高的数字为:" + maxNum + ",出现次数为:" + maxFreq);
}
}
```
程序首先创建一个 TreeMap 对象来统计数字出现的频率,然后循环读取输入的整数,如果输入为 0 则跳出循环。对于每个读取到的数字,如果它已经在 map 中出现过,则将它的出现次数加 1,否则将它的出现次数设为 1。同时,如果当前数字的出现次数大于之前出现过的数字的出现次数,则更新最高频率和最高频率对应的数字。最后输出最高频率和对应的数字即可。
阅读全文