Possible Duplicate:
ROT-13 function in java?
我必须将所有字符从字符串中的13个位置转移
private static String encode(String line) {
char[] toEncode = line.toCharArray();
for (int i = 0; i < toEncode.length; i++) {
if (Character.isLetter(toEncode[i])) {
toEncode[i] += 13;
}
}
line = String.valueOf(toEncode);
return line;
}
最佳答案
这是因为“z”之后的下一个字符是标点字符等等。您可以移动以使“z”为“n”。
toEncode[i] = (toEncode[i] + 13 - (int)'a') % 26 + (int)'a';