java输入一组无序的整数,编程输出其中出现次数最多的整数及其出现次数。
时间: 2023-09-09 07:10:01 浏览: 132
以下是一个Java程序,可以实现输入一组无序的整数,输出其中出现次数最多的整数及其出现次数:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Map<Integer, Integer> map = new HashMap<>();
System.out.print("请输入一组无序的整数(用空格隔开):");
String line = input.nextLine();
String[] nums = line.split(" ");
for (String num : nums) {
int n = Integer.parseInt(num);
if (map.containsKey(n)) {
map.put(n, map.get(n) + 1);
} else {
map.put(n, 1);
}
}
int maxCount = 0;
int maxNum = 0;
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
int count = entry.getValue();
if (count > maxCount) {
maxCount = count;
maxNum = entry.getKey();
}
}
System.out.println("出现次数最多的整数是:" + maxNum + ",出现次数为:" + maxCount);
}
}
```
该程序首先创建了一个`Map`对象`map`,用于存储每个整数出现的次数。然后通过`Scanner`类获取用户输入的一组无序的整数,并使用`split`方法将其拆分为一个个字符串,再使用`Integer.parseInt`方法将字符串转换为整数。接着遍历每个整数,如果`map`中已经存在该整数,则将其出现次数加1,否则将其添加到`map`中,并将其出现次数初始化为1。
最后,遍历`map`中的每个键值对,找出出现次数最多的整数及其出现次数。如果某个整数的出现次数大于当前的最大出现次数`maxCount`,则更新`maxCount`和`maxNum`的值。最后输出结果即可。
阅读全文