题目:输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数。
程序分析:
1、获取一行字符串,nextLine(),next()可以发现一下二者的区别,
2、把字符串的每一个字符赋值到一个数组中.toCharArray()
3、对比每一个数值在ASK码的范围,就可以确定它符号的类别
4、char字符ASK码的范围
(1)数字0到9: 48~57
(2)字母A到Z:65到90 a到z:97到122
(3)空格是32
public static void 第七题() { String a = input.nextLine(); //带Line,包含空格和空格之后的部分 char[] aa = a.toCharArray(); //创建一个char字符类型的数组,每个字符都分别是一个char类型 int z = 0; //设置变量z为数字0到9的个数 int x = 0; //设置x为字母A~Z的个数 int c = 0; //设置c为字母a~z的个数 int v = 0; int d = 0; //设置v为空格的个数 for (int i = 0; i < aa.length; i++) { //遍历数组,下标数永远比数组长度小1,递增 // System.out.println("aa["+i+"] = " + aa[i]); if (aa[i] >= 48 & aa[i] <= 57) { //判定char类型对应的ASCII码是否属于0~9 z++; } else if (aa[i] >= 65 & aa[i] <= 90) { //判定char类型对应的ASCII码是否属于A~Z x++; } else if (aa[i] >= 97 & aa[i] <= 122) { //判定char类型对应的ASCII码是否属于a~z c++; } else if (aa[i] == 32) { //判定char类型对应的ASCII码是否属于空格 v++; }else{ //判定char类型对性的ASCII码是否属于其他字符 d++; } } } System.out.println("数字0~9的个数为" + z); System.out.println("字母A~Z的个数为" + x); System.out.println("字母a到z的个数为" + c); System.out.println("空格个数为" + v); System.out.println("其它字符个数为" + d);
标签:aa,字符,char,英文字母,个数,空格,int From: https://www.cnblogs.com/Argitacos/p/17227631.html
// String b= input.next(); //不存在空格,空格及空格以后的部分通通不可见,输出不了
// aa=b.toCharArray(); //
// for (int i = 0; i < aa.length; i++) {
// System.out.println("aa["+i+"] = " + aa[i]);
// }