题解 | 统计字符
题解:
- 比较简单,直接map存储即可
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
char[] charArr = in.nextLine().toCharArray();
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < charArr.length; i++) {
int c = charArr[i];
if (Character.isLetter(c)) {
int count = map.getOrDefault(1, 0);
map.put(1, count + 1);
} else if (c == ' ') {
int count = map.getOrDefault(2, 0);
map.put(2, count + 1);
} else if (Character.isDigit(c)) {
int count = map.getOrDefault(3, 0);
map.put(3, count + 1);
} else {
int count = map.getOrDefault(4, 0);
map.put(4, count + 1);
}
}
for (int i = 1; i <= 4; i++) {
System.out.println(map.getOrDefault(i, 0));
}
}
}
查看2道真题和解析