2020年 第11屆 藍橋杯 Java B組 省賽 第6題
阿新 • • 發佈:2020-12-05
六、試題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); } }