java面试题:如果一串字符如"aaaabbc中国1512"要分别统计英文字符的数量,中文字符的数量,和数字字符的数量,假设字符中没有中文字符、英文字符、数字字符之外的其他特殊字符。

package com.swift;

public class TotalNumber_String {

    public static void main(String[] args) {
        /*
         * 如果一串字符如"aaaabbc中国1512"要分别统计英文字符的数量,中文字符的数量,和数字字符的数量,
         * 假设字符中没有中文字符、英文字符、数字字符之外的其他特殊字符。
         */
        String str="aaaabbc中国1512";
        int engishCount = 0;
        int chineseCount = 0;
        int digitCount = 0;
        for(int i=0;i<str.length();i++)
        {
            char ch = str.charAt(i);
            
            if(Character.isDigit(ch))
            {
                digitCount++;
            }
            else if(String.valueOf(ch).matches("[a-zA-Z]{1}"))//用isLetter()包含中文字符
            {
                engishCount++;
            }
            else
            {
                chineseCount++;
            }
        }
        System.out.println("the number of letter is "+engishCount+" ; the number of digit is "+digitCount+" ; the number of chineseCount is "+chineseCount);

    }

}

原文地址:https://www.cnblogs.com/qingyundian/p/8343847.html