码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-07-22 15:38:23      阅读:190      评论:0      收藏:0      [点我收藏+]

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

 

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

标签:others   []   nes   int   time   rac   system.in   oid   import   

原文地址:http://www.cnblogs.com/xcxfuryit/p/7221327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!