控制台输入一个字符串,统计字符串中每个自负出现的次数,保存到HashMap集合中。通过排序,打印输出次数最多的前三个字符及次数。
时间: 2024-05-01 15:19:19 浏览: 85
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
好的,以下是Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (map.containsKey(c)) {
map.put(c, map.get(c) + 1);
} else {
map.put(c, 1);
}
}
List<Map.Entry<Character, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>() {
@Override
public int compare(Map.Entry<Character, Integer> o1, Map.Entry<Character, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
int count = 0;
for (Map.Entry<Character, Integer> entry : list) {
System.out.println(entry.getKey() + " 出现了 " + entry.getValue() + " 次");
count++;
if (count == 3) {
break;
}
}
}
}
```
输入一个字符串后,我们使用HashMap来统计每个字符出现的次数,然后将其保存到一个List中,通过比较器对List进行排序,最后输出前三个字符及其出现次数即可。
阅读全文