java统计出其中英文字母、空格、数字和其它字符的个数的2个例子

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为 ‘\n ‘.

import java.util.Scanner;
public class ex7 {
  public static void main(String args[])
  {
   System.out.println("请输入字符串:");
   Scanner scan=new Scanner(System.in);
   String str=scan.next();
   String E1="[\u4e00-\u9fa5]";
   String E2="[a-zA-Z]";
   int countH=0;
   int countE=0;
   char[] arrChar=str.toCharArray();
   String[] arrStr=new String[arrChar.length];
   for (int i=0;i<arrChar.length ;i++ )
   {
    arrStr[i]=String.valueOf(arrChar[i]);
   }
   for (String i: arrStr )
   {
    if (i.matches(E1))
    {
     countH++;
    }
    if (i.matches(E2))
    {
     countE++;
    }
   }
   System.out.println("汉字的个数"+countH);
   System.out.println("字母的个数"+countE);
  }
}

例子2,

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

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

时间: 2024-10-24 14:30:45

java统计出其中英文字母、空格、数字和其它字符的个数的2个例子的相关文章

输入一行字符并统计出其中英文字母、空格、数字和其它字符的个数

查看全套"c语言习题集" 题目: 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 2.程序源代码: #include "stdio.h"#include "conio.h"main(){ char c; int letters=0,space=0,digit=0,others=0; printf("please input some character

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

问题描述 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数.请教下各方高手,我还是个JAVA初学者,麻烦大家了 解决方案 解决方案二:publicclassZhangZhenWei{publicstaticvoidmain(String[]args){Strings="zhangzhenwei";intnumber=0,smallchar=0,bigchar=0,other=0;for(inti=0;i<s.length();i++){charn=s.charAt

Java正则表达式过滤出字母、数字和中文_正则表达式

1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式       [^(A-Za-z)] (2) 过滤出 数字 的正则表达式    [^(0-9)] (3) 过滤出 中文 的正则表达式        [^(\\u4e00-\\u9fa5)] (4) 过滤出字母.数字和中文的正则表达式        [^(a-zA-Z0-9\\u4e00-\\u9fa5)] 2.实例源码 ** * @Title:FilterStr.java * @Package:com.you.dao

Java正则表达式过滤出字母、数字和中文

1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2) 过滤出 数字 的正则表达式 [^(0-9)] (3) 过滤出 中文 的正则表达式 [^(\\u4e00-\\u9fa5)] (4) 过滤出字母.数字和中文的正则表达式 [^(a-zA-Z0-9\\u4e00-\\u9fa5)] 2.实例源码 ** * @Title:FilterStr.java * @Package:com.you.dao * @Description:Java中过滤数

c++编程题统计输入的内容中有几个字母、数字和其他字符

问题描述 c++编程题统计输入的内容中有几个字母.数字和其他字符 2.统计输入的内容中有几个字母.数字和其他字符. 提示: (1)变量c应该定义为int. 这是因为后面的EOF常量的值超出了字符类型char的表示范围. EOF的值一般为-1 (2)程序示例比较粗糙, 自行考虑是否应该选用if ... else ...结构 (3)判定是否为字母和数字,系统有库函数可供选用.#include int c; while ((c=getchar())!=EOF){ if (c是字母) ... if (c

java去除字符串中的空格、回车、换行符、制表符的小例子_java

复制代码 代码如下: import java.util.regex.Matcher;import java.util.regex.Pattern;   /** * @author lei * 2011-9-2 */public class StringUtils {     public static String replaceBlank(String str) {        String dest = "";        if (str!=null) {           

求大神帮忙解决,js 控制输入框格式是半角的英文字母(网上好多方法都是只能控制一种状态)

问题描述 js中怎么才能限制输入框的输入内容仅限于半角的英文字母啊数字中文特殊字符全部不能输入. 解决方案 解决方案二:inputonkeyup="value=value.replace(/[^a-zA-Z]/g,'')"onpaste="value=value.replace(/[^a-zA-Z]/g,'')"oncontextmenu="value=value.replace(/[^a-zA-Z]/g,'')">下面供LZ参考http:

[求解]eclispe 中四个空格只有两个字符的宽度

问题描述 系统:ubuntu14.04新安装的系统,新下载的eclipse,但是java代码中四个空格只有两个字符的宽度,看起来就像是缩进了两个字符,而不是四个字符,所以看起来很别扭 解决方案 解决方案二:字体的问题.设置字体为等宽类型的字体即可解决.

C++统计中英文大小写字母、数字、空格及其他字符个数的方法_C 语言

本文实例讲述了C++统计中英文大小写字母.数字.空格及其他字符个数的方法.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * 完成日期:2012 年 11 月 28 日 * 版 本 号:v1.0 * 输入描述: * 问题描述: 有一篇文章,共有三行文字,每行有80个字符.要求分别统计出其中英文大写字母.小写字母.数字.空格以及其他字符的个数. * 程序输出: * 问题分析:略 * 算法设计:略 */ #include<iostream> using namespace std;