package JingDian; import java.util.Scanner; public class charKind { public static void main(String[] args) { System.out.println("請輸入字符串:"); Scanner sc = new Scanner(System.in); //注:Scanner類中的next()方法遇到空格就不進去了,比如說輸入haha nene就只會得到haha,空格后面的都被忽略了,因此要用nextLine() String str = sc.nextLine(); //用來檢測中文的正則表達式 String reg1 = "[\u4e00-\u9fa5]"; int count1 = 0; //用來檢測字母的正則表達式 String reg2 = "[a-zA-Z]"; int count2 = 0; //用於統計空格數 int count3 = 0; //用於統計數字個數 String reg4 = "[0-9]"; int count4 = 0; //獲得的鍵盤輸入都是String,因為要 將string中的每個字符進行匹配所以將每個char都存入String數組中 char[] charArr = str.toCharArray(); String[] strArr = new String[charArr.length]; for(int i=0;i<charArr.length;i++) { strArr[i] =String.valueOf(charArr[i]) ; if(strArr[i].matches(reg1)) { count1++; } if(strArr[i].matches(reg2)) { count2++; } if(strArr[i].matches(" ")) { count3++; } if(strArr[i].matches(reg4)) { count4++; } } System.out.println("漢字的個數:"+count1); System.out.println("字母的個數:"+count2); System.out.println("空格的個數:"+count3); System.out.println("數字的個數:"+count4); } }