为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在每个字符之前将 int 转换为 Character 包装对象后缀 '\u000'?

为什么在每个字符之前将 int 转换为 Character 包装对象后缀 '\u000'?

料青山看我应如是 2021-11-24 15:42:46
以下是在两个字符串之间找到单个不同的附加字母表的解决方案。 public char findTheDifference(String s, String t) {        int sSum = 0;        int tSum = 0;        for(int i = 0; i < s.length(); i++){            sSum = sSum + Character.getNumericValue(s.charAt(i));         }        for(int j = 0 ; j < t.length(); j++){            tSum = tSum + Character.getNumericValue(t.charAt(j));        }        return (char)(tSum-sSum);        }它返回 '\u000e' 而不是 'e'。示例输入:String1 = "abcd"String2 = "abecd"输出= "e"问题: 1) 为什么它返回 '\u000e'?我知道如果我Character.getNumericValue在两者中都删除for loops,我会得到“e”。但我想了解为什么使用它会增加 \u000?
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

问题是Character.getNumericValue()使用此处解释的特定规则将字符转换为数字。

特别是,字母abcde您使用GET转换为数字10,11,12,13,14 -这种方法假定你打算他们在一些系统,如十六进制数字。


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信