题解 | 统计字符
题解:
- 比较简单,直接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)); } } }