需求:键盘录入一个字符串,统计该字符串中大写字母和小写字母、数字字符出现的次数,其他字符不考虑。
思路:可以直接使用ASCII来判断
- 如果是大写字母A-Z:(ASCII)65-90 (big)
- 如果是小写字母a-z:(ASCII)97-122 (small)
- 如果是数字字符:(ASCII)48-57 (number)
示例代码
package com.api.Demo07;
import java.util.Scanner;
/**
* 需求:键盘录入一个字符串,统计该字符串中大写字母和小写字母、数字字符出现的次数,其他字符不考虑。
* 思路:可以直接使用ASCII来判断
* 如果是大写字母A-Z:(ASCII)65-90 (big)
* 如果是小写字母a-z:(ASCII)97-122 (small)
* 如果是数字字符:(ASCII)48-57 (number)
*/
public class Test06 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.nextLine();
int big = 0, small = 0, number = 0;
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (ch >= '0' && ch <= '9') { // 数字 底层代码会转换成对应的ASCII 十进制判断
// if (ch >= 48 && ch <= 57) { // 数字
number++;
} else if (ch >= 'A' && ch <= 'Z') { //大写
// } else if (ch >= 65 && ch <= 90) { //大写
big++;
} else if (ch >= 'a' && ch <= 'z') { //小写
// } else if (ch >= 97 && ch <= 122) { //小写
small++;
}
}
System.out.println("数字字符:" + number);
System.out.println("大写字符:" + big);
System.out.println("小写字符:" + small);
}
}
下一篇文章:indexOf