これは私が持っているものです。Javaで配列文字を右にシフトするにはどうすればよいですか?
class encoded
{
public static void main(String[] args)
{
String s1 = "hello";
char[] ch = s1.toCharArray();
for(int i=0;i<ch.length;i++)
{
char c = (char) (((i - 'a' + 1) % 26) + 'a');
System.out.print(c);
}
}
}
は、これまでのところ私は、文字列を配列に変換されてきた、と私はシフトする方法を働いてきたが、今私がこだわっています。コードは、ch[0]
で開始した文字を読んで、右(i
からh
)に1をシフトし、それが終わりに達するまで、配列内の各文字のための同じをする私が欲しいもの
です。
今、私のコード出力はopqrs
です。 ifmmp
を出力します。私はint i = ch[0]
とfor
ループでint i = 0
を交換する場合、それはi
でスタートんが、それはちょうど私がそれをi
としてh
、出力を読みたいijklmno...
入力、f
としてe
、出力を読んで、というようになるまで配列の最後に到達します。
で
i - 'a' + 1
を交換してください。変数 'i'の目的は何ですか?あなたは "シフト"したい文字をどこに保存していますか? –