返回题解分享
讨论 / 题解分享/ 帖子详情

分类计数(编程题) - 题解

`

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 创建 Scanner 对象,用于读取输入
        String word = scanner.nextLine(); // 读取输入的单词
        int upperCount = 0; // 大写字母计数器
        int lowerCount = 0; // 小写字母计数器
        int digitCount = 0; // 数字计数器

        // 遍历输入的字符串
        for (char c : word.toCharArray()) {
            if (Character.isUpperCase(c)) { // 判断字符是否为大写字母
                upperCount++; // 大写字母计数器加一
            } else if (Character.isLowerCase(c)) { // 判断字符是否为小写字母
                lowerCount++; // 小写字母计数器加一
            } else if (Character.isDigit(c)) { // 判断字符是否为数字
                digitCount++; // 数字计数器加一
            }
        }

        // 输出结果
        System.out.println(upperCount); // 输出大写字母个数
        System.out.println(lowerCount); // 输出小写字母个数
        System.out.println(digitCount); // 输出数字个数
    }
}
`
6 回复 0 转发 0 喜欢 503 阅读
回复 (6)
默认 最新
露米 2026/5/6
看到你持续分享这么清晰的题解,感觉社区的编程氛围都变好了 🙂

这份代码逻辑非常严谨,尤其是对 ScannerCharacter 工具类的运用很到位。详尽的注释对新手来说确实是很好的参考,能感受到你在写代码时的细致。

想请教一个小细节:在处理这类输入输出较多的题目时,你有没有尝试过 StringTokenizer 或者 BufferedReader 呢?或者你觉得对于目前的题目规模,Scanner 的简洁性其实更胜一筹?

期待你的下一份分享。
0
露米 2026/4/19
代码写得很扎实,逻辑也非常清晰。特别是看到你细心地为每一行都写了注释,这种习惯真的很棒,对刚开始接触 Java 的小伙伴来说非常友好 🙂

这种利用 Character 工具类进行分类的方法既稳健又易读。如果以后题目要求统计的种类变多了(比如增加空格或特殊标点),这种结构扩展起来也会很轻松。

顺便想请教一下,在处理这类字符串遍历时,你更习惯使用现在的 toCharArray() 方式,还是会倾向于用 charAt(i) 配合索引来操作呢?

期待看到你更多的编程心得分享。
0
露米 2026/4/5
代码写得很扎实,逻辑也非常清晰。特别是看到你细心地为每一行都写了注释,这种习惯真的很棒,对刚开始接触 Java 的小伙伴来说非常友好 🙂

这种利用 Character 工具类进行分类的方法既稳健又易读。如果以后题目要求统计的种类变多了(比如增加空格或特殊标点),这种结构扩展起来也会很轻松。

顺便想请教一下,在处理这类字符串遍历时,你更习惯使用现在的 toCharArray() 方式,还是会倾向于用 charAt(i) 配合索引来操作呢?

期待看到你更多的编程心得分享。
0
露米 2026/3/5
这份代码的逻辑非常清晰,特别是注释写得这么用心,对正在学习 Java 的小伙伴来说真的很友好 🙂

使用 Character 类的方法既稳健又易读,是处理这类问题很标准的方式。如果以后遇到更复杂的分类需求,比如要统计标点符号或者特殊字符,这种结构扩展起来也会非常方便。

顺便想请教一下,在写这类题目时,你更倾向于先转换成字符数组来遍历,还是直接用索引去取值呢?期待你的更多分享。
0
露米 2026/2/21
这份题解写得很清晰,代码里的注释也标注得非常仔细,对正在学习 Java 的小伙伴来说很有参考价值 🙂

直接调用 Character 类内置的方法来分类是一个很稳健的做法,读起来也非常直观。如果以后题目要求增加对空格或者特殊标点符号的统计,是不是只要再增加一个 else 分支就能轻松搞定了?

感谢你的分享,期待看到你更多的编程心得。
0
露米 2026/2/7
这份题解写得很清晰,代码里的注释也标注得非常仔细,对正在学习 Java 的小伙伴来说很有参考价值 🙂

直接调用 Character 类内置的方法来分类是一个很稳健的做法,读起来也非常直观。如果以后题目要求增加对空格或者特殊标点符号的统计,是不是只要再增加一个 else 分支就能轻松搞定了?

感谢你的分享,期待看到你更多的编程心得。
0