输入一行字符,分别统计出其英文字母,空格,数字和其他字符的个数
技术点1: 如何获取键盘输入?
技术点2: 如何把字符串转换成字符数组?
技术点3: 如何判断是数字还是字母还是空格还是其他符号?
A-Z 65-90
a-z 97-122
0-9 48-57
空格 32
import java.util.Scanner;
public class CharDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入一行内容: ");
String line = scanner.nextLine();
//把输入的字符串转换成字符数组
char[] charArr = line.toCharArray();
//定义变量保存各个内容的个数
int numCount = 0, letterCount = 0, spaceCount = 0, otherCount = 0;
//循环判断
for (int i = 0; i < charArr.length; i++) {
char ele = charArr[i];
if (ele >= 48 && ele <= 57) {
//说明是数字
numCount++;
} else if (ele >= 65 && ele <= 90 || ele >= 97 && ele <= 122) {
//说明是字母
letterCount++;
} else if (ele == 32) {
//说明是空格
spaceCount++;
} else {
otherCount++;
}
}
System.out.println("输入的内容为: " + line);
System.out.println("数字个数为: " + numCount);
System.out.println("字母个数为: " + letterCount);
System.out.println("空格个数为: " + spaceCount);
System.out.println("其他个数为: " + otherCount);
}
}