を逆転しました出力bcdを取得します。ただし、 "dcbnull"を返します。出力は、私はJavaを使用して、単純なシーザーシフトを実装しようとしている
どうすれば修正できますか?これもどうしてですか?
を逆転しました出力bcdを取得します。ただし、 "dcbnull"を返します。出力は、私はJavaを使用して、単純なシーザーシフトを実装しようとしている
どうすれば修正できますか?これもどうしてですか?
Shift_msg = valueOf += Shift_msg;
をShift_msg += valueOf;
に変更しました。その理由を説明しています。最後にnull
を取り除くには、メソッドの先頭または文字列宣言のときにShift_msg = "";
と設定します。
ここにコードが修正されました
連結のミスオーダーで間違っていました。
元のメッセージでも最初から最後まで行っているので、Shift_msg += valueOf
だったはずです。
あなたがnull
を得た理由は、Shift_msg
には値がありませんでしたので、それは空のString
である必要があります。
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;
}
return Shift_msg;
}