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

控制台输出始终显示0的程序问题修复求助

控制台输出始终显示0的程序问题修复求助

看起来你在实现字符串分组统计累加的功能时卡壳了,输出一直是0,我帮你揪出代码里的几个关键问题,再给你修复后的方案:

第一个致命问题:转小写导致大写统计全为0

你把StringBuilder生成的字符串转成了全小写:string data = sb.ToString().ToLower();,这之后data里所有字符都是小写的,后面用char.IsUpper(data[i])判断大写时,永远不会返回true,upper变量一直是0,最后upper * lower当然就是0了。

第二个问题:分组逻辑完全不符合需求

你的分组是把大小写不同的同一字母当成不同组(比如"aA"会被拆成'a'和'A'两个组),但你实际需要的是把同一个字母(不管大小写)归为一组。而且你现在的代码没有对每个组单独计算后累加,只是把整个错误分组后的字符统计了一次,完全没实现需求里的分组计算逻辑。

修复后的完整代码

我重新写了核心逻辑,完美匹配你的需求:

// 可以替换成你需要的测试用例
string[] letters =  { "a", "aA", "Aa", "AAa", "aaA", "aAabB", "ccCeEEEcBbBbb" };

foreach (string input in letters)
{
    int total = 0;
    if (string.IsNullOrEmpty(input))
    {
        Console.WriteLine(total);
        continue;
    }

    // 初始化第一组的字母标识和计数
    char currentGroupLetter = char.ToLower(input[0]);
    int upperCount = char.IsUpper(input[0]) ? 1 : 0;
    int lowerCount = char.IsLower(input[0]) ? 1 : 0;

    // 从第二个字符开始遍历
    for (int i = 1; i < input.Length; i++)
    {
        char currentChar = input[i];
        char currentCharLower = char.ToLower(currentChar);

        if (currentCharLower == currentGroupLetter)
        {
            // 属于当前组,更新大小写计数
            if (char.IsUpper(currentChar))
                upperCount++;
            else
                lowerCount++;
        }
        else
        {
            // 遇到新组,先把当前组的结果加到总数值里
            total += upperCount * lowerCount;
            // 初始化新组的信息
            currentGroupLetter = currentCharLower;
            upperCount = char.IsUpper(currentChar) ? 1 : 0;
            lowerCount = char.IsLower(currentChar) ? 1 : 0;
        }
    }

    // 别忘了把最后一组的结果也加入总数值
    total += upperCount * lowerCount;
    Console.WriteLine($"输入: {input} | 结果: {total}");
}

代码逻辑说明

  • 用小写字母作为分组的标识,确保同一字母(不管大小写)被分到同一组
  • 每遇到新的字母组,就把前一组的大写数量 × 小写数量累加到总结果中
  • 遍历结束后,必须手动把最后一组的计算结果加入总数值(因为循环里不会处理最后一组)
  • 直接对原字符判断大小写,避免了转小写导致的统计错误

运行这个代码,所有测试用例都会输出正确结果:比如"aA"会输出1,你给的示例"ccCeEEEcBbBbb"会输出11,完全符合你的需求。

备注:内容来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 15:55:26