java编写一个程序,读取个数不定的整数,然后查找其中出现频率最高的数字。当输入为0时,表示结束输入。例如,如果输入的数据是 29 7 8 3 6 6 -6 4 5 6 1 0,那么数字6的出现频率最高。如果出现频率最高的数字不止一个,则应该将它们全部输出。例如,在线性表9 30 3 9 3 2 4中,3和9都出现了两次,所以3和9都应该被输出
时间: 2024-03-16 15:44:17 浏览: 47
java输入十个数字比较大小运用冒泡
5星 · 资源好评率100%
好的,以下是Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Map<Integer, Integer> map = new HashMap<>();
int maxCount = 0;
while (true) {
int num = scanner.nextInt();
if (num == 0) {
break;
}
int count = map.getOrDefault(num, 0) + 1;
map.put(num, count);
if (count > maxCount) {
maxCount = count;
}
}
List<Integer> result = new ArrayList<>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue() == maxCount) {
result.add(entry.getKey());
}
}
System.out.print("出现频率最高的数字是:");
for (int i = 0; i < result.size(); i++) {
if (i != 0) {
System.out.print(", ");
}
System.out.print(result.get(i));
}
}
}
```
程序的主要思路是使用Map来记录每个数字出现的次数,然后遍历Map找到出现次数最多的数字,并输出结果。
阅读全文