题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
分析:翻看JAVA的API,我们可以发现有很多输入类,这里我们选取Scanner类来进行输入;至于统计字符的类,JAVA的API也给我们提供了,比如Character类,在该类中有很多方法,可以用来判断各种字符,因此我们可以用这两个类来完成这个题目。
代码:
public class TestThree {
public static void main(String[] args) {
int letterSum = 0;
int blankSum = 0;
int numberSum = 0;
int otherSum = 0;
Scanner scan = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = scan.nextLine();
char[] ch = str.toCharArray();
for(int i = 0 ; i < ch.length; i++){
if(Character.isLetter(ch[i])){
letterSum++;
}else if(Character.isSpaceChar(ch[i])){
blankSum++;
}else if(Character.isDigit(ch[i])){
numberSum++;
}else{
otherSum++;
}
}
System.out.println("输入的字符串中共有字母:"+letterSum);
System.out.println("输入的字符串中共有空格:"+blankSum);
System.out.println("输入的字符串中共有数字:"+numberSum);
System.out.println("输入的字符串中共有其他字符:"+otherSum);
}
}
通过输入的内容进行分析,都ok。但是有一点想不到的是,我们输入的中文字符在统计的时候也给我们算作了字母里面,这让我百思不得其解。后来通过查阅源代码和相关资料才发现:这里的Letter不只是指英文字母。事实上任何语言的‘字符’都可以。
有一个例子:
for(char c='/u4E00';c<='/u9FA5';c++){
if(!Character.isLetter(c)){
System.out.println("汉字是Letter");
}else{
System.out.println("汉字不是Letter");
}
}
System.out.println(Character.isLetter('さ'));
System.out.println((int)'さ');
System.out.println(Character.isDigit('/u0660'));
System.out.println('/u0660');
可以看到汉字和日文字符都是
Letter,另外Digit也类似,不只是0-9是Digit,比如/u0660,好像是阿拉伯文,也是Digit
所以要判断英文字母或者数字还是笨一点, c>='a'&&c<='z' || c>='A'&&c<='Z'吧。
分享到:
相关推荐
java作业,输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。实验报告+详细代码
# 题目: # 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 # 分析: # 利用 while 或 for 语句,条件为输入的字符不为 '\n'。
输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数
课程的随堂作业,C语言的,用dev就能运行,萌新代码,勿喷,仅仅帮助不想写作业的朋友方便一下,反正老师也不会仔细检查的
输入一个字符串,统计出这个字符串的英文大写字母、小写字母、数字、空格以及其它字符的个数
输入一串字符串 统计其中字符、数字、大小写字母的个数
输入一行字符,分别统计出其中英文字母(包括大小写)、空格、数字和其他字符的个数。
输入一个串,判断字母个数和字符个数。C语言写的,欢迎使用!
编写一个函数count,有实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。 要求:(1)定义统计函数count来实现。 函数的原型为:void count(char str...
编写函数,由实参传来一个字符串,统计其中字母,数字空格,和其他字符的个数
大厂机试_21_输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
java编程统计一个字符串中的字母,数字,空格,其他,输入一个字符串,就会输出字符串中包含的字母,数字,空格,其他
输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的...
。。。
。。。
(1)分别统计出其英文字母,数字和空格数及整篇文章总字数; (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 (4)存储结构使用线性表,分别用几个子函数实现...
统计一组字符串中字母,数字,空格的个数(C语言原代码
Java字符类型统计,输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。将arrChar中的每个字符转换为String类型之后,存放在arrStr数组中,创建一个String类型的数组,其长度为arrChar的长度,然后...