问题描述:
分别统计一个字符串中出现小写字母、大写字母、数字和空格的个数。
输入格式:
在一行中输入长度不超过40的字符串。
输出格式:
第一行中输出“小写字母=x“
第二行中输出“大写字母=y“
第三行中输出“数字=z”
第四行中输出“空格=m”
所有结果均原样输出,没有列宽控制。
输入样例:
sd2h b57 sA
输出样例:
小写字母=5
大写字母=1
数字=3
空格=2
思路:
-
首先,创建了一个
Scanner
对象来从控制台接收用户输入。 -
然后,初始化了四个整数变量
x
,y
,z
, 和m
,分别用于计数小写字母、大写字母、数字和空格的数量。 -
接下来,将用户输入的字符串转换为字符数组。这是为了便于遍历每个字符。
-
通过一个for循环,代码检查每个字符,并根据其ASCII值判断其类型:
- 如果字符的ASCII值在97到122之间(a-z的ASCII值范围),则将
x
增加1。 - 如果字符的ASCII值在65到90之间(A-Z的ASCII值范围),则将
y
增加1。 - 如果字符的ASCII值在48到57之间(0-9的ASCII值范围),则将
z
增加1。
- 如果字符的ASCII值在97到122之间(a-z的ASCII值范围),则将
-
然后,代码使用
split("")
方法将字符串拆分成一个字符串数组。这样做是为了方便地遍历每个字符(包括空格),并计算空格的数量。 -
通过另一个for循环,代码检查每个字符串元素,如果它是一个空格(即" "),则将
m
增加1。 -
最后,代码打印出每种类型字符的数量。
运行截图: