我正在写一个可以对一个输入字符串进行凯撒加密的方法。本人现在有的代码如下:
public static String caesarCipher (String cipher, int shiftAmount) {
StringBuilder str = new StringBuilder();
for (int index = 0; index < cipher.length; index = index + 1 ){
char letter = cipher.charAt(index);
if (Character.isUpperCase(letter)){
letter = (char)(((int) letter - 'A' + shiftAmount) % 26 + 'A');
}
else if (Character.isLowerCase(letter)){
letter = (char)(((int) letter - 'a' + shiftAmount) % 26 + 'a');
}
else if (Character.isDigit(letter)){
letter = letter + shiftAmount;
}
str.append(letter);
}
return str.toString();
}
但是在我测试这串代码的时候,总是返回显示为 “ ” 的空的字符串。测试用的代码如下:
> HW2.caesarCipher("NiHao", 1)
""
请问这是什么问题,应该怎么解决啊。