2020年 第11届 蓝桥杯 Java B组 省赛 第6题

六、试题F: 分类计数

【问题描述】

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

【输入格式】

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

【输出格式】

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

【样例输入】

1+a=Aab

【样例输出】

1 3 1

【评测用例规模与约定】

对于所有评测用例,字符串由可见字符组成,长度不超过 100。

解法一:'A' <= temp[i] && temp[i] <= 'Z'

package provincialGames_11_2020;
 
import java.util.Scanner;
 
public class _06_F_分类计数 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        char[] temp = str.toCharArray();
        int upper = 0, lower = 0, digit = 0;
        for (int i = 0; i < temp.length; i++) {
            if ('A' <= temp[i] && temp[i] <= 'Z') {
                upper++;
            } else if ('a' <= temp[i] && temp[i] <= 'z') {
                lower++;
            } else if ('0' <= temp[i] && temp[i] <= '9') {
                digit++;
            }
        }
        System.out.println(upper + " " + lower + " " + digit);
    }
 
}

解法二:Character.isUpperCase(a[i])

package provincialGames_11_2020_1_JavaB;
 
import java.util.Scanner;
 
public class _06_F_分类计数2 {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        char[] a = s.toCharArray();
        int upper = 0, lower = 0, num = 0;
        for (int i = 0; i < a.length; i++) {
            if (Character.isUpperCase(a[i]))
                upper++;
            else if (Character.isLowerCase(a[i]))
                lower++;
            else if (Character.isDigit(a[i]))
                num++;
        }
        System.out.print(upper + " " + lower + " " + num);
    }
 
}
原文地址:https://www.cnblogs.com/de-ming/p/14089306.html