我試圖用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」。
我該如何解決這個問題,爲什麼會發生這種情況?