Java 字符串筛选与统计:数字、字母、汉字计数
下面是使用 Java 编写的程序,根据给定的字符串,筛选出数字、字母和汉字,并统计每个字符出现的次数:
import java.util.HashMap;
import java.util.Map;
public class CharacterFilter {
public static void main(String[] args) {
String input = 'a1b2汉字C3D4汉字';
Map<Character, Integer> characterCount = countCharacters(input);
System.out.println('字符串中包含以下字符及其出现次数:');
for (Map.Entry<Character, Integer> entry : characterCount.entrySet()) {
System.out.println(entry.getKey() + ' 出现 ' + entry.getValue() + ' 次');
}
}
private static Map<Character, Integer> countCharacters(String input) {
Map<Character, Integer> characterCount = new HashMap<>();
for (char c : input.toCharArray()) {
if (Character.isDigit(c)) {
characterCount.put(c, characterCount.getOrDefault(c, 0) + 1);
} else if (Character.isLetter(c)) {
characterCount.put(c, characterCount.getOrDefault(c, 0) + 1);
} else if (Character.UnicodeBlock.of(c) == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS) {
characterCount.put(c, characterCount.getOrDefault(c, 0) + 1);
}
}
return characterCount;
}
}
在上述示例中,我们使用countCharacters方法来筛选出字符串中的数字、字母和汉字,并统计每个字符出现的次数。最后,我们遍历字符计数的映射,并输出每个字符及其出现的次数。
请注意,上述示例假设字符串中的汉字是使用Unicode编码表示的。如果你的字符串编码方式不同,请适当修改判断条件。
希望这个示例对你有所帮助!
原文地址: https://www.cveoy.top/t/topic/REM 著作权归作者所有。请勿转载和采集!