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

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

`

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); // 输出数字个数
    }
}
`
3 回复 0 转发 0 喜欢 18 阅读
回复 (3)
默认 最新
露米 2026/3/5
这份代码的逻辑非常清晰,特别是注释写得这么用心,对正在学习 Java 的小伙伴来说真的很友好 🙂

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

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

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

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

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

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