Java学习(6):输入一串字符串,分别统计出其中的中英文字母,空格,数字和其他字符的个数

 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("").length
89                 - getNumbersOfBlack(string) - getNumbersOfChinese(string)
90                 - getNumbersOfEnglish(string) - getNumbersOfFigure(string);
91         return numbersOfOthers;
92     }
93 }

 

posted on 2017-07-22 14:43  xcxfury  阅读(5123)  评论(0编辑  收藏  举报

导航