我试图用java实现一个简单的凯撒转变:输出逆转
import java.util.Scanner;
public class Caesar_shift {
public static String message;
public static String Shift_msg;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Please type message: ");
message = scanner.next();
setShift_msg(message);
System.out.println(Shift_msg);
}
public static String setShift_msg(String msg) {
String valueOf;
for (int i = 0, n = msg.length(); i < n; i++) {
char c = msg.charAt(i);
c = (char) (c + 1);
valueOf = String.valueOf(c);
Shift_msg = valueOf += Shift_msg;
}
return Shift_msg;
}
}
当我运行我的程序,
String message = "abc"
我应该得到输出bcd。但是,它返回“dcbnull”。
我该如何解决这个问题,为什么会发生这种情况?