六、试题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); } }