public class CountDemo {
private static void count(String str) {
String E1 = "[\u4e00-\u9fa5]";// 汉字
String E2 = "[a-zA-Z]";// 字母
String E3 = "[0-9]";// 数字
int countLetter = 0;
int countNumber = 0;
int countSpace = 0;
int countOther = 0;
char[] chars = str.toCharArray();
String string = null;
for (char c : chars) {
string = String.valueOf(c);
if (string.matches(E1)) {
countChinese++;
} else if (string.matches(E2)) {
countLetter++;
} else if (string.matches(E4)) {
countSpace++;
} else if(string.matches(E3)){
countNumber++;
}else{
countOther++;
}
}
int total = countChinese + countLetter + countSpace + countOther;
System.out.println("汉字:" + countChinese + "," + "字母:" + countLetter
+ "," + "空格:" + countSpace + "," + "其他字符:" + countOther
+ "数字:" + countNumber+"总共:"+total);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Input Stirng:");
count(str);
}
}
private static void count(String str) {
String E1 = "[\u4e00-\u9fa5]";// 汉字
String E2 = "[a-zA-Z]";// 字母
String E3 = "[0-9]";// 数字
String E4 = "\\s";// 空格
//重点一是正则表达式
int countChinese = 0;int countLetter = 0;
int countNumber = 0;
int countSpace = 0;
int countOther = 0;
char[] chars = str.toCharArray();
String string = null;
for (char c : chars) {
string = String.valueOf(c);
if (string.matches(E1)) {
countChinese++;
} else if (string.matches(E2)) {
countLetter++;
} else if (string.matches(E4)) {
countSpace++;
} else if(string.matches(E3)){
countNumber++;
}else{
countOther++;
}
}
int total = countChinese + countLetter + countSpace + countOther;
System.out.println("汉字:" + countChinese + "," + "字母:" + countLetter
+ "," + "空格:" + countSpace + "," + "其他字符:" + countOther
+ "数字:" + countNumber+"总共:"+total);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Input Stirng:");
String str = in.nextLine();// 以回车为结束符号
next() //以回车或者空格为结束符号。
in.close();count(str);
}
}