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

如何用Java编写字母转数字并计算姓名对应数值和的代码?

字母数值求和的Java实现

功能规则

  • A对应1,Z对应26,大小写字母视为等同
  • 忽略空格、撇号等非英文字符
  • 计算字符串中所有有效字母的数值总和(例:Aron的总和为1+18+15+14=48)

实现代码

public class LetterSumCalculator {
    public static void main(String[] args) {
        // 测试示例1:基础输入
        String test1 = "Aron";
        int result1 = calculateLetterSum(test1);
        System.out.println("\"" + test1 + "\" 的数值和:" + result1);
        
        // 测试示例2:含特殊字符的输入
        String test2 = "O'Neil Smith";
        int result2 = calculateLetterSum(test2);
        System.out.println("\"" + test2 + "\" 的数值和:" + result2);
    }
    
    // 核心计算方法
    public static int calculateLetterSum(String input) {
        int total = 0;
        // 统一转为小写,避免区分大小写
        String lowerInput = input.toLowerCase();
        
        for (char c : lowerInput.toCharArray()) {
            // 判断是否为小写英文字母
            if (c >= 'a' && c <= 'z') {
                // 计算对应数值:'a'对应97,减97再加1得到1-26的范围
                total += (c - 'a' + 1);
            }
            // 非字母字符自动跳过
        }
        return total;
    }
}

代码说明

  1. main方法:提供两个测试用例,验证基础功能和带特殊字符的场景
  2. calculateLetterSum方法:
    • 先将输入字符串转为小写,统一处理大小写字母
    • 遍历每个字符,只保留小写字母(对应原输入的大小写字母)
    • 通过ASCII码计算数值:c - 'a' + 1 直接得到字母对应的1-26数值
    • 非字母字符不参与计算,自动跳过

运行结果

  • 输入"Aron"时,输出:"Aron" 的数值和:48
  • 输入"O'Neil Smith"时,输出:"O'Neil Smith" 的数值和:124

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:00:59