Java从键盘输入一个字符串,字符串中只包含若干字母(字母有大写也有小写),统计每个字母出现的次数(统计时不区分大小写),按出现频率从高到低输出这些字母,全部输出小写形式。
时间: 2024-10-14 16:08:33 浏览: 43
在Java中,你可以使用HashMap存储字符及其出现的次数,并使用Character类的toLowerCase()方法将所有字符转换为小写进行统一处理。这里是一个简单的示例程序:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = scanner.nextLine().toLowerCase(); // 转换为小写
Map<Character, Integer> charCountMap = new HashMap<>();
for (char c : input.toCharArray()) { // 遍历字符串
if (Character.isLetter(c)) { // 只统计字母
charCountMap.put(c, charCountMap.getOrDefault(c, 0) + 1); // 更新计数
}
}
// 按照值(出现次数)降序排序并输出
charCountMap.entrySet().stream()
.sorted(Map.Entry.<Character, Integer>comparingByValue().reversed())
.forEach(entry -> System.out.println("字符:" + entry.getKey() + " 出现次数:" + entry.getValue()));
}
}
```
当你运行这个程序,它会提示你输入一个字符串,然后统计其中各字母出现的次数,并按照出现频率从高到低打印出来。
阅读全文