用java给定n个整数,编写一个实验程序找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
时间: 2023-06-14 11:05:13 浏览: 83
C语言实验-有3个整数a,b,c,由键盘输入,编写程序输出其中绝对值最大(或最小)的数。
5星 · 资源好评率100%
可以使用HashMap来统计每个数字出现的次数,然后遍历一遍HashMap找出出现次数最多的数字,最后再遍历一遍原数组找出出现次数最多且最小的数字。
以下是Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 2, 1, 4, 4, 5, 5, 5};
Map<Integer, Integer> map = new HashMap<>();
// 统计每个数字出现的次数
for (int num : nums) {
map.put(num, map.getOrDefault(num, 0) + 1);
}
// 找出出现次数最多的数字
int maxCount = 0;
int maxNum = Integer.MAX_VALUE;
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
int num = entry.getKey();
int count = entry.getValue();
if (count > maxCount) {
maxCount = count;
maxNum = num;
} else if (count == maxCount && num < maxNum) {
maxNum = num;
}
}
System.out.println("出现次数最多的数字是:" + maxNum);
}
}
```
输出结果为:出现次数最多的数字是:5
阅读全文