首页 > 其他分享 >统计一个字符串中英文字母、空格、数字和其它字符的个数

统计一个字符串中英文字母、空格、数字和其它字符的个数

时间:2023-03-20 16:26:03浏览次数:32  
标签:aa 字符 char 英文字母 个数 空格 int

题目:输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数。

程序分析:

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);

// String b= input.next();              //不存在空格,空格及空格以后的部分通通不可见,输出不了
// aa=b.toCharArray();                //     
// for (int i = 0; i < aa.length; i++) {
// System.out.println("aa["+i+"] = " + aa[i]);
// }

标签:aa,字符,char,英文字母,个数,空格,int
From: https://www.cnblogs.com/Argitacos/p/17227631.html

相关文章