整体思路为将被字符串转化为字符数组,通过字符的ASCII码范围来判断它属于哪一类。
代码如下:
import java.util.Scanner;
public class Statistics {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入一行字符");
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();// next()方法不能识别空格
char arr[] = a.toCharArray();// 将字符串转为字符
int letter = 0;
int number = 0;
int space = 0;
int other = 0;
for (int i = 0; i < arr.length; i++) {
arr[i] = a.charAt(i);
if ((arr[i] >= 63 && arr[i] <= 90) || (arr[i] >= 97 && arr[i] <= 122)) {
letter++;
} else if (arr[i] >= 48 && arr[i] <= 57) {
number++;
} else if (arr[i] == 32) {
space++;
} else {
other++;
}
}
System.out.println("字母的个数是:" + letter + "数字的个数是" + number + "空格的个数是" + space + "其他字符的个数是" + other);
}
}