【题解】分类计数
【问题描述】
输入一个字符串,请输出这个字符串包含多少个大写字母,多少个小写字母,多少个数字。
【输入格式】
输入一行包含一个字符串。
【输出格式】
输出三行,每行一个整数,分别表示大写字母、小写字母和数字的个数。
【样例输入】
1+a=Aab
【样例输出】
1
3
1
【评测用例规模与约定】
对于所有评测用例,字符串由可见字符组成,长度不超过 100。
解题思路
可以利用Character包装类里的方法。
isDigit(char) 判断该字符是否为数字。
isUpperCase(char) 判断该字符是否为大写字母。
isLowerCase(char) 判断字符是否为小写字母。
私下里可以学习一下Character类里的方法
【代码】
import java.util.Scanner;
/**
* 分类计数
*/
public class count_ {
public static void main(String[] args) {
System.out.print("请输入一行字符串:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();//接收用户输入的字符串
int upper = 0, lower = 0, digit = 0;
for (int i = 0; i < str.length(); i++) {
if (Character.isUpperCase(str.charAt(i))) {
upper++; //大写字符计数加1
} else if (Character.isLowerCase(str.charAt(i))) {
lower++;//小写字符计数加1
} else if (Character.isDigit(str.charAt(i))) {
digit++;//数字计算加1
}
}
System.out.printf("%d\n%d\n%d", upper, lower, digit);
}
}
结果
1
3
1