java输出一个字符串有多少个不同的字符,每个字符出现的次数
时间: 2024-02-01 13:01:53 浏览: 148
要实现这个功能,可以借助哈希表来记录每个字符出现的次数。具体步骤如下:
1. 定义一个哈希表,将每个字符和它出现的次数记录进去。
2. 遍历字符串中的每个字符,在哈希表中查找该字符是否已经存在。如果存在,则将该字符的计数器加一,否则在哈希表中新增一个该字符,并将计数器初始化为1。
3. 遍历哈希表,统计不同字符的个数,以及每个字符出现的次数。
Java代码如下:
```
public static void countCharacters(String str) {
// 定义一个哈希表,用于记录每个字符出现的次数
HashMap<Character, Integer> charCount = new HashMap<>();
// 遍历字符串中的每个字符,更新哈希表中每个字符出现的次数
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (charCount.containsKey(c)) {
charCount.put(c, charCount.get(c) + 1);
} else {
charCount.put(c, 1);
}
}
// 统计不同字符的个数,以及每个字符出现的次数
int distinctCount = charCount.size();
System.out.println("不同字符的个数:" + distinctCount);
System.out.println("每个字符出现的次数:");
for (Map.Entry<Character, Integer> entry : charCount.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
```
注意:为了保证代码的灵活性,这里使用了哈希表来记录每个字符出现的次数。如果输入字符串中只包含 ASCII 码字符,则可以使用一个大小为 256 的数组来代替哈希表,更加高效。
阅读全文