標籤:others [] nes int time rac system.in oid import
1 import java.util.Scanner; 2 3 /** 4 * 輸入一行字元,分別統計出其中的中英文字母,空格,數字和其他字元的個數 5 * 6 * @author xcx 7 * @time 2017年7月22日上午9:08:16 8 */ 9 public class Practice7 {10 11 public static void main(String[] args) {12 System.out.println("請輸入一串字串,我們將統計出其中的中英文字母,空格,數字和其他字元的個數");13 Scanner scanner = new Scanner(System.in);14 String string = scanner.nextLine();15 16 int numbersOfBlack = getNumbersOfBlack(string);17 int numbersOfChinese = getNumbersOfChinese(string);18 int numbersOfOthers = getNumbersOfOthers(string);19 int numbersOfFigure = getNumbersOfFigure(string);20 int numbersOfEnglish = getNumbersOfEnglish(string);21 22 System.out.println("數字有:" + numbersOfFigure + "個");23 System.out.println("英文有:" + numbersOfEnglish + "個");24 System.out.println("空格有:" + numbersOfBlack + "個");25 System.out.println("漢字有:" + numbersOfChinese + "個");26 System.out.println("其它有:" + numbersOfOthers + "個");27 }28 29 // 求字串中空格的個數30 public static int getNumbersOfBlack(String string) {31 // 記錄字串中空格的個數32 int numbersOfBlack = 0;33 // 將輸入的字串轉化為字元數組34 String[] strings = string.split("");35 for (int i = 0; i < strings.length; i++) {36 if (strings[i].matches(" ")) {37 numbersOfBlack++;38 }39 }40 return numbersOfBlack;41 }42 43 // 求字串中漢字的個數44 public static int getNumbersOfChinese(String string) {45 // 記錄字串中漢字的個數46 int numbersOfChinese = 0;47 // 將輸入的字串轉化為字元數組48 String[] strings = string.split("");49 for (int i = 0; i < strings.length; i++) {50 if (strings[i].matches("[\u4e00-\u9fa5]")) {51 numbersOfChinese++;52 }53 }54 return numbersOfChinese;55 }56 57 // 求字串中英語字母的個數58 public static int getNumbersOfEnglish(String string) {59 // 記錄字串中英語字母的個數60 int numbersOfEnglish = 0;61 // 將輸入的字串轉化為字元數組62 String[] strings = string.split("");63 for (int i = 0; i < strings.length; i++) {64 if (strings[i].matches("[a-zA-Z]")) {65 numbersOfEnglish++;66 }67 }68 return numbersOfEnglish;69 }70 71 // 求字串中數位個數72 public static int getNumbersOfFigure(String string) {73 // 記錄字串中數位個數74 int numbersOfFigure = 0;75 // 將輸入的字串轉化為字元數組76 String[] strings = string.split("");77 for (int i = 0; i < strings.length; i++) {78 if (strings[i].matches("[0-9]")) {79 numbersOfFigure++;80 }81 }82 return numbersOfFigure;83 }84 85 // 求字串中數位個數86 public static int getNumbersOfOthers(String string) {87 // 記錄字串中數位個數88 int numbersOfOthers = string.split("").length89 - getNumbersOfBlack(string) - getNumbersOfChinese(string)90 - getNumbersOfEnglish(string) - getNumbersOfFigure(string);91 return numbersOfOthers;92 }93 }
Java學習(6):輸入一串字串,分別統計出其中的中英文字母,空格,數字和其他字元的個數