用Java写代码:输入一串字母,记录这一串字母的每个字母出现的次数,然后对这一串里面的每个字母出现的次数进行排序
时间: 2024-02-17 20:00:21 浏览: 73
好的,以下是Java代码实现:
```java
import java.util.*;
public class LetterCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一串字母:");
String input = scanner.nextLine();
// 统计每个字母出现的次数
Map<Character, Integer> countMap = new HashMap<>();
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (!countMap.containsKey(c)) {
countMap.put(c, 1);
} else {
int count = countMap.get(c);
countMap.put(c, count + 1);
}
}
// 对字母出现次数进行排序
List<Map.Entry<Character, Integer>> countList = new ArrayList<>(countMap.entrySet());
Collections.sort(countList, new Comparator<Map.Entry<Character, Integer>>() {
@Override
public int compare(Map.Entry<Character, Integer> o1, Map.Entry<Character, Integer> o2) {
return o2.getValue() - o1.getValue(); // 降序排序
}
});
// 输出字母出现次数及排序结果
System.out.println("字母出现次数:");
for (Map.Entry<Character, Integer> entry : countList) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
运行结果示例:
```
请输入一串字母:hello world
字母出现次数:
l: 3
o: 2
e: 1
h: 1
d: 1
r: 1
w: 1
```
希望能够帮助到你!
阅读全文