题目:输入一行字符,分别统计出其中文、英文字母、空格、数字和其它字符的个数。
1package test; 2import java.util.Scanner; 3public class Pratice1 { 4 public static void main(String[] args) { 5 // TODO Auto-generated method stub 6 int chinese=0;//汉字字符个数 7 int english = 0;//英文字符个数 8 int blank = 0;//空格字符个数 9 int number = 0;//数字字符个数 10 int other = 0;//其他字符个数 11 char[] ch = null;//定义字符数组 12 Scanner scanner = new Scanner(System.in); 13 System.out.println("请随便输入一串字符:"); 14 String str = scanner.nextLine();//从控制台输入字符串 15 ch = str.toCharArray();//将字符串转换为字符数组 16 for (int i = 0; i < ch.length; ++i) {//遍历字符数组 17 if (String.valueOf(ch[i]).matches("[\u4e00-\u9fa5]")) {//汉字字符判断 18 chinese++; 19 } else if ((ch[i] >= 'a' && ch[i] <= 'z') || ch[i] > 'A' && ch[i] <= 'Z') {//英文字符判断 20 english++; 21 } else if (ch[i] == ' ') {//空格字符判读 22 blank++; 23 } else if(Character.isDigit(ch[i])==true){ 24 number++; 25 }else {//定义字符 26 other++; 27 } 28 } 29 System.out.println("汉字个数: " + chinese); 30 System.out.println("英文字母个数: " + english); 31 System.out.println("空格个数: " + blank); 32 System.out.println("数字个数: " + number); 33 System.out.println("其他字符个数:" + other); 34 } 35} 36输出: 37请随便输入一串字符: 38魑魅魍魉dgsfjhdfg87932*/ 天下风云出我辈 69/HelloWorld 39汉字个数: 11 40英文字母个数: 19 41空格个数: 3 42数字个数: 7 43其他字符个数:3 44
