You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计字符串中的大写元音与小写元音?Java程序输出异常求助

解决Java大小写元音统计输出异常的问题

首先,先梳理下做这类统计时最容易踩的几个坑,你可以对照自己的代码排查:

  • 元音集合定义不全/错误:比如只定义了小写元音aeiou却漏掉大写的AEIOU,或者不小心写错了某个元音字符(比如把u写成v)
  • 字符判断逻辑出错:比如在判断字符是否属于元音时,用了错误的比较方式——虽然char是基本类型用==没问题,但如果是转成String后用==对比就会出错,得用equals()
  • 计数变量初始化/更新错误:比如把大小写元音计数器共用了一个变量,或者没初始化为0就开始累加
  • 遍历字符串时的边界问题:比如循环条件写错,导致少遍历了最后一个字符

下面给你一个经过验证的正确示例代码,你可以对比自己的代码找差异:

public class VowelCounter {
    public static void main(String[] args) {
        String input = "Hello WORLD! Let's count the vowels";
        int lowerVowelCount = 0;
        int upperVowelCount = 0;
        
        // 明确定义大小写元音的范围
        char[] lowerVowels = {'a', 'e', 'i', 'o', 'u'};
        char[] upperVowels = {'A', 'E', 'I', 'O', 'U'};
        
        for (char c : input.toCharArray()) {
            // 检查小写元音
            for (char v : lowerVowels) {
                if (c == v) {
                    lowerVowelCount++;
                    break;
                }
            }
            // 检查大写元音
            for (char v : upperVowels) {
                if (c == v) {
                    upperVowelCount++;
                    break;
                }
            }
        }
        
        System.out.println("小写元音数量:" + lowerVowelCount);
        System.out.println("大写元音数量:" + upperVowelCount);
    }
}

如果对照后还是找不到问题,欢迎把你的代码贴出来,我们可以一起定位具体的bug!

内容的提问来源于stack exchange,提问作者B.Nishan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:34:25