正确的代码
public class Test9 {
//输入一行字符,分别统计出其中英文字母、数字、空格和其它字符的个数
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入一串字符串:");
String a = in.nextLine(); //基本输入
char[] b = a.toCharArray(); //字符串转字符数组
int letter = 0; //字母
int num = 0; //数字
int space = 0; //空格
int character = 0; //其他字符
for (int i = 0; i < b.length; i++) {
if (65 <= b[i] && b[i] <= 90 || 97 <= b[i] && b[i] <= 122) //字母
letter++;
else if (48 <= b[i] && b[i] <= 57) //数字
num++;
else if (b[i] == 32) //空格
space++;
else
character++; //其他字符
}
System.out.print("字母的个数是"+letter+" 数字的个数是"+num+" 空格数是"+space+" 其他字符的个数是"+character);
}
}
容易错误点
我看有的博主在统计字母时竟然(b[i]>=‘A’ && b[i]<=‘z’),这里把其他字符也算进来了,我们软件开发工程师一定要仔细啊!
根据阿里巴巴Java开发手册,属性首字母要小写
有人竟然写了 63 <= b[i] && b[i] <= 90 A的ASCII是65!