/*
键盘输入字符串,统计字符,打印输出
分析:键盘输入用到Scannner ,字符char
     输入的是字符串String String string = Scanner
     字符有英文字母大小写,还有数字,以及其它字符 要定义四个变量用来存储这些字符
     需要对字符串中的每个字符进行判断,用到toCharArray()
     既然统计字符,那肯定用到判断
 */

import java.util.Scanner;

public class DemoScannerSum {
    public static void main(String[] args) {
        //创建键盘输入对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        //创建新的字符串对象用来存放键盘输入数据
        String string = scanner.next();
        //定义四个变量用来存储各自字符
        int aa = 0;//大写字母
        int bb = 0;//小写字母
        int cc = 0;//数字字符
        int dd = 0;//其他字符
        //获取字符对象用来存储字符串中的字符,
        //通过toCharArray()方法将字符串逐个字符拿出来放入到新的字符数组中
        char[] chars = string.toCharArray();
        //循环遍历
        for (int i = 0; i < chars.length; i++) {
            //创建新的数组对象用来存储字符数组
            char ch = chars[i];
            //进行判断,如果是字节用到byte,对照ASCII码表进行判断
            if ('A' <= ch && ch <= 'Z') {
                aa++;
            } else if ('a' <= ch && ch <= 'z') {
                bb++;
            } else if ('0' <= ch && ch <= '9') {
                cc++;
            } else {
                dd++;
            }
        }
        //打印输出
        System.out.println("大写字母有" + aa + "个");
        System.out.println("小写字母有" + bb + "个");
        System.out.println("数字字符有" + cc + "个");
        System.out.println("其他字符有" + dd + "个");

    }
}