题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
分析:翻看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'。
输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数
这个作业要求你编写一个程序,能够接收用户输入的10个字符,然后分别统计其中的英文字母、空格或回车、数字以及其他的字符数量。下面,我们将详细讨论如何实现这个功能。 首先,C语言提供了一个名为`getchar()`的...
目标是编写一个小程序,该程序能接收用户输入的一行字符,然后统计其中英文字母(包括大写和小写)、空格、数字以及其他非字母、非数字、非空格的字符的个数。 1. **设计思想与过程**: - 分析阶段:首先,由于...
通过使用 C 语言编程,实现从键盘读入一段文本,统计其中的英文字母、数字、空格和除此之外的其他字符个数。 标题解释 标题“计算文本中各种字符的个数”表明本节的主要内容是统计文本中各种字符的个数,包括英文...
标题 "输入一行字符,分别统计出其中英文字母、空格数字和其它字符的个数.docx" 描述了一个简单的程序设计任务,即编写一个程序来读取用户输入的一行字符,并统计其中英文字符、空格、数字和其他字符的数量。...
输入一个字符串,统计出这个字符串的英文大写字母、小写字母、数字、空格以及其它字符的个数
标题 "输入一行字符,分别统计出其中英文字母、空格数字和其它字符的个数.pdf" 描述了一个编程任务,即编写一个程序来分析用户输入的一行字符,并计算其中包含的英文字母、空格、数字和其他字符的数量。这个任务涉及...
本文将深入解析如何使用C语言实现一个特定功能:输入一个字符串,然后统计并区分其中的字母和数字字符数量。这不仅涉及到基本的输入输出操作,还涵盖了条件判断、循环控制以及字符类别的判定等核心概念。 ### 核心...
输入一串字符串 统计其中字符、数字、大小写字母的个数
标题 "输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数.docx" 描述了一种编程任务,即编写一个程序,能够接收用户输入的一行字符,并统计其中字母、空格、数字以及其他非字母非数字非空格的字符的数量...
编写一个函数count,有实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。 要求:(1)定义统计函数count来实现。 函数的原型为:void count(char str...
在这个问题中,我们面临一个任务:输入一行字符,并分别统计其中字母、空格、数字和其他字符的个数。这个问题涉及到基本的字符串处理和字符判断,是C语言初学者常常遇到的经典练习。 首先,我们看到代码中有两个...
编写函数,由实参传来一个字符串,统计其中字母,数字空格,和其他字符的个数
大厂机试_21_输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
标题中的“统计一组字符串中字母,数字,空格的个数”是指在C语言编程中实现一个程序,用于计算用户输入的一串字符中包含的字母、数字和空格的数量。这个程序可以帮助理解基本的字符处理和计数逻辑。 在描述中,...
java编程统计一个字符串中的字母,数字,空格,其他,输入一个字符串,就会输出字符串中包含的字母,数字,空格,其他