在Java中如何将数组字符右移?
这就是我所拥有的:在Java中如何将数组字符右移?,java,arrays,string,shift,Java,Arrays,String,Shift,这就是我所拥有的: 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');
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);
}
}
}
类编码
{
公共静态void main(字符串[]args)
{
字符串s1=“你好”;
char[]ch=s1.toCharArray();
对于(int i=0;i您使用的是循环索引i
,而不是循环中的i
第个字符,这意味着您的代码的输出不依赖于输入字符串
(当然,除了输出的长度,它与输入的长度相同)
改变
char c = (char) (((i - 'a' + 1) % 26) + 'a');
到
将i-'a'+1
替换为ch[i]-'a'+1
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) (((ch[i] - 'a' + 1) % 26) + 'a');
System.out.print(c);
}
}
}
类编码{
公共静态void main(字符串[]args)
{
字符串s1=“你好”;
char[]ch=s1.toCharArray();
对于(int i=0;它的变化太大了!请解释一下这两者之间发生了什么变化?想想你在做什么。变量i
的用途是什么?要“移位”的字符存储在哪里?
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) (((ch[i] - 'a' + 1) % 26) + 'a');
System.out.print(c);
}
}
}