已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
13小时前关门了。
Improve this question
public static String LetterChanges(String str) {
String alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
String res="";
for (int i = 0; i < str.length (); i++) {
for (int j = 0; j < alphabet.length (); j++) {
if (str.charAt (i) == alphabet.charAt (j)) {
res = str.replace (str.charAt (i), alphabet.charAt (j + 1));
break;
}
}
}
return res;
}
让函数LetterChanges(str)接受传递的str参数,并使用以下算法修改它。将字符串中的每个字母替换为字母表中紧随其后的字母(例如,c变为d,z变为a)。
例如,我传递“Hello”作为参数str,并希望得到“Ifmmp”,但我得到了“Hellp”,只更改了最后一个字母
2条答案
按热度按时间crcmnpdw1#
而不是使用
试试看
型
jutyujz02#
你不需要嵌套循环,因为字母表中的字母都有连续的码位,所以你所要做的就是得到你想要增加
a
(或者大写的A
)的字符之间的差值,然后加1,模26表示环绕z
(或者Z
),最后把这个新的距离加回到a
,即: