java统计出字符串中的英文字母,空格,数字和其他字符的个数_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java统计出字符串中的英文字母,空格,数字和其他字符的个数

java统计出字符串中的英文字母,空格,数字和其他字符的个数

 2013/9/4 18:14:39  LiaoJuncai  程序员俱乐部  我要评论(0)
  • 摘要:分别统计字符串的数字、字母、空格和其他字符(包括汉字、标点符号)的个数,并计算及字符串的总字符数。packageutil;publicclassCountStr{/***有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数*@authorMr.Liao*@date2013-09-04*短信发送平台,短信字数控制查询方法*/publicstaticvoidmain(String[]args){//Stringstr="adasfAAADFD我是中文,,》123"
  • 标签:英文 其他 Java 字符串

分别统计字符串的数字、字母、空格和其他字符(包括汉字、标点符号)的个数,并计算及字符串的总字符数。

?

class="java" name="code">package util;


public class CountStr {
	/**
	 * 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
	 * @author Mr.Liao
	 * @date 2013-09-04
	 * 短信发送平台,短信字数控制查询方法
	 */
		public static void main(String[] args) {

			//String str = "adasf AAADFD我是中文,,》123";
			//String str = "金马甲高端商品交易平台--2013全城热恋克拉钻石项目预售,18个月,三万起步,年化8%,预购请致电展恒私人财富:18611297979";
			String str = "展恒理财,2004年在北京成立,是国内最大的理财咨询类机构之一。获得国家颁发的独立基金销售牌照.是2013年中国网球公开赛10大核心赞助商之一。公司成立10年来,在为客户进行全面的家庭财务规划方面积累了十分丰富的经验。目前拥有中高端忠实客户10000多名,配置客户资金超过200亿元,位列行业排名前三强。";
			
			System.out.println("[总字符数1]:"+countSum(str));
			System.out.println("--------------------");				
			System.out.println("[总字符数2]:"+countSum2(str));	
			System.out.println("--------------------");				
			System.out.println("[总字符数3]:"+str.length());
		}
		
	    public static int countSum(String str) {
			int unicodeCount = 0;
			int szCount = 0;
			int zmCount = 0;

			for (int i = 0; i < str.length(); i++) {

				char c = str.charAt(i);
				if (c >= '0' && c <= '9') {
					szCount++;
				}else if((c >= 'a' && c<='z') || (c >= 'A' && c<='Z')){
					zmCount++;
				}else{
					unicodeCount++;
				}
			}
			System.out.println("Unicode:"+unicodeCount);
			System.out.println("数字:"+szCount);
			System.out.println("字母:"+zmCount);			
			int sum=szCount+zmCount+unicodeCount;
			return sum;
	    }	
	    public static int countSum2(String str) {
	        int abccount = 0;
	        int numcount = 0;
	        int spacecount = 0;
	        int othercount = 0;
	        char[] b = str.toCharArray();
	        for(int i = 0; i < b.length; i++){
	            if(b[i]>='a'&&b[i]<='z'||b[i]>='A'&&b[i]<='Z'){
	                abccount++;
	            }else if(b[i]>='0'&&b[i]<='9'){
	                numcount++;
	            }else if(b[i]==' '){
	                spacecount++;
	            }else{
	                othercount++;
	            }
	    }
			int sum=abccount+numcount+spacecount+othercount;
	        System.out.println("字符串中含有的英文字母数为:" + abccount);
	        System.out.println("字符串中含有的数字数为:" + numcount);
	        System.out.println("字符串中含有的空格数为:" + spacecount);
	        System.out.println("字符串中含有的其他字符为:" + othercount);
			return sum; 
	}
}

?

?

控制台结果:

Unicode:132
数字:20
字母:0
[总字符数1]:152
--------------------
字符串中含有的英文字母数为:0
字符串中含有的数字数为:20
字符串中含有的空格数为:0
字符串中含有的其他字符为:132
[总字符数2]:152
--------------------
[总字符数3]:152

?

发表评论
用户名: 匿名