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

如何修改Java代码使大小写字母获相同索引及Lucky Sum

解决大小写字母Lucky Sum计算不一致的问题

修改后的完整代码

public static void main(String args[]) 
{
    obj.alphaSum("Adam"); // 现在输入"Adam"和"adam"会得到相同结果
}

public static void alphaSum(String word)
{
    String alphabet = " abcdefghijklmnopqrstuvwxyz";
    int add = 0;

    for(int i = 0; i < word.length(); i++)
    {
        // 将当前字符统一转为小写,确保大小写字母匹配同一个索引
        char ch = Character.toLowerCase(word.charAt(i));
        int x = alphabet.indexOf(ch); 
        System.out.println(ch + " " + x);
        add += x;
    }

    System.out.println("********************");
    System.out.println("Lucky Sum: " + add);
}

关键修改点

  • 在获取每个字符时,调用Character.toLowerCase()方法将字符统一转为小写,这样不管输入是大写还是小写字母,都会匹配到小写字母表中的对应索引。
  • 也可以选择转为大写并调整字母表为大写版本,但转小写的方式更简洁,无需修改原有的字母表字符串。

原理说明

原代码中,大写字母不在" abcdefghijklmnopqrstuvwxyz"这个小写字母表里,indexOf()会返回-1,导致总和计算错误。统一转换为小写后,所有字母都能在字母表中找到对应的位置,从而保证"Adam"和"adam"的Lucky Sum完全一致。

内容的提问来源于stack exchange,提问作者Abdullah Malik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:20:43