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

本文介绍了一个Java程序,该程序能够统计输入字符串中的中文汉字、英文字母、空格、数字和其他字符的数量。通过使用Scanner类读取用户输入,并利用字符数组和Unicode块信息进行字符类型判断。

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

1.分析

1.1 如何进行输入?

需要输入一行字符意味着需要建立一个Scanner对象,用来获取接收的内容

而接收的内容中包含空格,因而选择Scanner对象中的nextLine()方法

注意:Scanner对象名.next()方法是以空格为分隔符进行相应输出的。

1.2 如何统计字符数量?

1.2.1 如何获取到每个字符?

a.把得到的一行字符String对象通过toCharArray方法转换成字符数组

b.然后对字符数组进行遍历,即可获取每个字符数组元素个数

1.2.2 如何辨别是哪种字符?(字符判断规则)
a 中文汉字判断规则如下:

是否属于中日韩越统一表意文字(CJK_UNIFIED_IDEOGRAPHS),若是,则代表是中文

b 英文字母判断规则如下:

是否属于小写字母的ASCII值范围([97,122])或者大写字母的ASCII值范围([65,90])

c 空格判断规则如下:

是否等于空格对应的ASCII值(32)

d 数字判断规则如下:

是否属于数字对应的ASCII值范围[48,57]

f 数字判断规则如下:

a、b、c、d条件均不满足,就代表其是其他字符

2.思路总结

a.定义一个Scanner对象,通过.nextLine方法来接收输入的一行字符对应的字符串

  Scanner scanner=new Scanner(System.in);
  String a=scanner.nextLine();

b.对接收到的字符串通过toCharArray方法来拆分成字符数组

   char[] charArrays=a.toCharArray();

c.对字符数组进行遍历,在这个过程中,对每个字符内容进行判断,对符合条件的计数器进行加1

for(int i=0;i<charArrays.length;i++){
   
   
  if(Character.UnicodeBlock.of(charArrays[i])==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS){
   
   
     //判断是否是中文汉字,若是中文计数器+1,
    //此时无需进行后面的判断操作,直接开启(continue)下一次循环
    chineseCount++;
    continue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SSS4362

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值