Java 字符串统计:大写字母、小写字母、数字、不同字符、特定字符以及每个字符的个数
public class Main {
public static void main(String[] args) {
String str = 'AJFDOI987EQJF9Q7498OFJALKJF9Vmvaou809890q9jldaouq1100inbknvll';
// 统计大写字母、小写字母和数字的个数
int uppercaseCount = 0;
int lowercaseCount = 0;
int digitCount = 0;
// 统计不同字符的个数
int distinctCharCount = 0;
// 统计A的个数
int ACount = 0;
// 统计每个字符的个数
Map<Character, Integer> charCountMap = new HashMap<>();
// 遍历字符串
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isUpperCase(c)) {
uppercaseCount++;
} else if (Character.isLowerCase(c)) {
lowercaseCount++;
} else if (Character.isDigit(c)) {
digitCount++;
}
if (c == 'A') {
ACount++;
}
if (!charCountMap.containsKey(c)) {
distinctCharCount++;
charCountMap.put(c, 1);
} else {
charCountMap.put(c, charCountMap.get(c) + 1);
}
}
System.out.println('大写字母个数:' + uppercaseCount);
System.out.println('小写字母个数:' + lowercaseCount);
System.out.println('数字个数:' + digitCount);
System.out.println('不同字符个数:' + distinctCharCount);
System.out.println('A的个数:' + ACount);
System.out.println('每个字符的个数:');
for (Map.Entry<Character, Integer> entry : charCountMap.entrySet()) {
System.out.println(entry.getKey() + ': ' + entry.getValue());
}
}
}
解释:
- 首先定义了一个字符串
str,表示输入的字符串。 - 接下来定义了几个变量,用于统计大写字母、小写字母、数字的个数、不同字符的个数、A的个数。
- 使用
HashMap来统计每个字符的个数,其中键为字符,值为个数。 - 使用
for循环遍历字符串,对于每个字符,判断其是否为大写字母、小写字母、数字,并进行相应的统计。 - 对于字符'A',也进行了统计。
- 对于每个字符,如果在
charCountMap中不存在,则表示为一个新的字符,不同字符的个数加1,并将其加入charCountMap中,值为1。如果已经存在,则将其对应的值加1。 - 最后打印出统计结果。
原文地址: https://www.cveoy.top/t/topic/qbZS 著作权归作者所有。请勿转载和采集!