use*_*816 15 java string integer
我是Java的新手,所以我想知道如何将字符串中的字母转换为数字,例如hello world输出为8 5 12 12 15 23 15 18 12 4.
所以a=1,b=2,z=26等.
das*_*ght 53
由于这很可能是一项学习任务,我将给你一个提示:拉丁字母表中所有UNICODE代码点都按字母顺序排序.如果代码a是某个数字N,那么代码b是N+1,代码c是N+2,等等; 代码Z是N+26.
您可以使用与减去整数相同的方法减去字符代码点.由于代码点是按字母顺序排列的,因此进行以下计算
char ch = 'h';
int pos = ch - 'a' + 1;
Run Code Online (Sandbox Code Playgroud)
产生序列号h,即8.如果在循环中执行此计算,您将获得所需的结果.
请注意,上述公式仅适用于同一寄存器的字符.如果您的输入字符串是大小写混合,则需要在进行计算之前将每个字符转换为小写字母,否则会出错.