【题解】分类计数


【问题描述】

输入一个字符串,请输出这个字符串包含多少个大写字母,多少个小写字母,多少个数字。

【输入格式】

输入一行包含一个字符串。

【输出格式】

输出三行,每行一个整数,分别表示大写字母、小写字母和数字的个数。

【样例输入】

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