有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
/**
*
*/
package 作业0919;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class 统计字符 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String teString = scanner.next();
count(teString);
}
public static void count(String test) {
int word = 0;
int num = 0;
int chinese = 0;
String string = "";
String regex = "([\u4e00-\u9fa5]+)";
Matcher matcher = Pattern.compile(regex).matcher(test);
while (matcher.find()) {
string += matcher.group();
}
for (int i = 0; i < test.length(); i++) {
if (test.charAt(i) >= '0' && test.charAt(i) <= '9') {
num++;
} else if (test.charAt(i) >= 'a' && test.charAt(i) <= 'z'
|| test.charAt(i) >= 'A' && test.charAt(i) <= 'Z') {
word++;
}
}
System.out.println("中文:" + string.length() + "个, 英文:" + word + "个, " + "数字:" + num + "个");
}
}