有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
public class HW4 {
public static void main(String[] args) {
String str = "2333你好好说话666ABCcao";
char[] charArray = str.toCharArray();
HashMap<Object, Integer> ha = new HashMap<>();
Integer x = 0, y = 0, z = 0;
for (char c : charArray) {
Character character = (Character) c;
switch (character.getType(c)) {
case 2:// 是小写字母
x++;
break;
case 1:// 是大写字母
x++;
break;
case 9:// 是数字
y++;
break;
case 5:// 是中文字符
z++;
break;
default:
break;
}
if (ha.containsKey(c)) {
ha.put(c, ha.get(c) + 1);
} else {
ha.put(c, 1);
}
}
System.out.println("字母共有:" + x);
System.out.println("数字共有:" + y);
System.out.println("汉字共有:" + z);
System.out.println(ha);
}
}