用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

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

被折叠的 条评论
为什么被折叠?



