java如何统计汉字 个数_JAVA自学笔记:统计字符串中汉字、字母、数字及其他字符的个数...

阿萌这次的课题是,利用JAVA统计一段字符串中,汉子、字母、数字、空格、以及其他字符的各类字符的个数,并计算其总个数。

简单原理就是:

将输入的字符串,利用String.split()分割字符串存入一个String类型数组遍历数组,依次利用是String.matches()方法,利用正则表达式来判定单个字符是否符合所规定的类型,如果符合则对该类型的计数变量自加1。

就是这样,另外对应的正则表达式为:

中文:[\u4e00-\u9fa5]

英文:[a-zA-Z]

数字:[0-9]

下面看程序代码:

import java.util.Scanner;

public class Test012 {

public static void main(String args[]){

Scanner reader=new Scanner(System.in);

String text=reader.nextLine();

System.out.println(text);

String[] t=text.split("");

int All=t.length,Chs=0,Eng=0,Space=0,Num=0,Other=0;

String CH = "[\u4e00-\u9fa5]";// 中文

String EN= "[a-zA-Z]";// 英文

String NM = "[0-9]";// 数字

for(int i=0;i

if(t[i].matches(CH)){

Chs++;

}else if(t[i].matches(EN)){

Eng++;

}else if(t[i].contains(" ")){

Space++;

}else if(t[i].matches(NM)){

Num++;

}else{

Other++;

}

}

System.out.printf("字符总数为:%d\n中文字数为:%d\n英文字数为:%d\n空格个数为:%d\n数字个数为:%d\n其他字符为:%d\n",All,Chs,Eng,Space,Num,Other);

}

}

控制台结果:

输入:abcdefg 一二三四 12345678.。

输出结果:

字符总数为:22

中文字数为:4

英文字数为:7

空格个数为:2

数字个数为:8

其他字符为:1

后记(遗留问题):

1、在检测空格的时候,利用t[i]==” ”居然检测不出空格,恕我知识尚浅,暂时无法找到问题所在,只好暂时利用String.contains(" ")方法判断,这问题之后偶再详细查找。

2、个人问题,本来是准备写在方法里的,结果寻找了各种方式,发现只能通过返回数组、list、传递新对象、定义静态变量等方法来在方法外使用方法内的变量,无论哪种方法都感觉没有PHP里能数组中的键值来的舒服便捷,这问题等我以后有时间再探索探索吧,虽然这只是偶强迫行为引发的问题而已。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值