需求:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,(不需要考虑其他字符)
举例:
“Hello123World”
键盘录入之前,在测试键盘录入前,请先测试以下需求
结果:
//大写字母:2个
//小写字母:8个
//数字字符:3个
分析:
A:定义三个统计变量
bigCount = 0
smallCount = 0
numberCount = 0
B:遍历字符串,得到每一个字符
length()和charAt结合
C:判断该字符到底是属于那个类型
大:bigCount++
小:smallCount++
数字:numberCount++
这道题的难点在于就是如何判断某个字符到底是大,小,还是数字,
ASCII码表:
0:48
A:65
a:97
虽然,这种方式可以,但是有比这个更简单的
char ch = s.charAt(x);
(char >= ‘0’ && ch <= ‘9’) numberCount++
(char >= ‘a’ && ch <= ‘z’) smallCount++
(char >= ‘A’ && ch <= ‘Z’) bigCount++
D:输出结果即可
练习:
把给定字符串的方式,改进为键盘录入字符串的方式 (已添加键盘录入的方式)
示例:
//package的位置
package main.Java.com.fiexible.TestString;
//键盘录入对象需要导的包
import java.util.Scanner;
//创建类
public class StringTest5 {
//main方法
public static void main(String[] args) {
// 定义一个字符串
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
String ss = sc.nextLine();
//String s = "Hello123World";
// 定义三个统计变量
int bigCount = 0;
int smallCount = 0;
int numberCount = 0;
// 遍历字符串,得到每一个字符
for (int x = 0; x < ss.length(); x++) {
char ch = ss.charAt(x);
//判断该字符到底是属于那个类型
if (ch >='A' && ch<='Z') {
bigCount++;
}else if (ch >= 'a' && ch <= 'z') {
smallCount++;
}else if (ch >= '0' && ch <= '9') {
numberCount++;
}
}
System.out.println("大写字母"+bigCount+"个数");
System.out.println("小写字母"+smallCount+"个数");
System.out.println("数字写字母"+numberCount+"个数");
}
}
键盘录入的结果:
Hello1234567WorldLOng
大写字母4个数
小写字母10个数
数字写字母7个数
注意:这个文章来自于学习视频,如有侵权请联系我