我的思路是先拿到输入语句,将他转换为字符数组对其进行遍历,那个每个字符使用if对他进行判断,同时在循环外定义好要统计的字符初始值,当遇到符合的字符对他进行累加,并在最后输出即可;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = scanner.nextLine();
//记录大写字母、小写字母、字母累计、数字的初始值方便在遍历时找到
//符合条件的做累加计算
int Upper = 0,lower=0,countCharacter=0,number=0,other=0;
//将字符串转换为字符数组方便遍历
char[] cs = str.toCharArray();
for (int i = 0; i < cs.length; i++) {
char c = cs[i];//得到遍历的每个字符
if ('A'<=c && c<='Z') {
Upper++;//遇到大写字母+
}else if ('a'<=c && c<='z') {
lower++;//遇到小写字母+
}else if('0'<=c && c<='9'){
number++;//遇到数字+
}else {
other++;//其他字符+
}
}
countCharacter=Upper+lower;//大写字母加小写字母为字母总数
System.out.println("字母有"+countCharacter);
System.out.println("数字有"+number);
System.out.println("其他字符有"+other);