Java 将字母切换为数组中的字符

Java 将字母切换为数组中的字符,java,arrays,list,Java,Arrays,List,我试图用存储在数组中的字符切换字符,我和我的老师被卡住了 这方面的一个例子是: abcdef将切换到zyxwvu 或 hello会切换到svool吗 下面是上述代码的图片和链接 首先,您应该将i>=alpha.length更改为i='A'){ 转换+=字母版本[msg.charAt(i)-'A']; }否则{ 转换+=味精字符(i); } } System.out.println(“消息:+已转换); } 感谢您的帮助,现在是您发送内容的快速补充,如果我能够将其反转回svool-->您好,我该

我试图用存储在数组中的字符切换字符,我和我的老师被卡住了

这方面的一个例子是:

abcdef将切换到zyxwvu

hello会切换到svool吗

下面是上述代码的图片和链接


首先,您应该将
i>=alpha.length
更改为
i
,但这并不重要,因为您所做的不会起作用

msg.replace(…)
调用不会更改
msg
的值,但即使更改了,结果也不是您想要的,因为您将
a
更改为
z
,然后将
z
更改回
a

退后一步,重新思考你想做什么


提示:使用
msg.tocharray()
,然后更新数组中的字符,完成后再转换回
String

静态字符串切换字母(字符串文本){
char[]chars=Normalizer.normalize(text,Normalizer.Form.NFD).toCharArray();
for(int i=0;i如果(ch>='a'&&ch='a'&&ch此代码将帮助您了解流程:

  public static void main(String[] args) {
    // ****************************************
    // ** Call your function to test them in **
    // ** the main function here.            **
    // ****************************************

    String msg = "Yes Sir How may I help you ";

    //Alphabet 
    String alpha[] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};

    //Alphabet Reversed
    String alpharev[] = {"z", "y", "x", "w", "v", "u", "t", "s", "r", "q", "p", "o", "n", "m", "l", "k", "j", "i", "h", "g", "f", "e", "d", "c", "b", "a"};

    String converted = "";
    for (int i = 0; i < msg.length(); i++){

      if(msg.charAt(i) >= 'a'){
        converted+=alpharev[msg.charAt(i) - 'a'];
      } else if(msg.charAt(i) >= 'A'){
        converted+=alpharev[msg.charAt(i) - 'A'];
      } else{
        converted+= msg.charAt(i) ;
      }
    }
    System.out.println("Message: " + converted);
  }
publicstaticvoidmain(字符串[]args){
// ****************************************
//**调用函数以在中测试它们**
//**此处的主要功能**
// ****************************************
String msg=“是的,先生,我能为您做些什么”;
//字母表
字符串alpha[]={“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z”};
//颠倒字母表
字符串alpharev[]={“z”、“y”、“x”、“w”、“v”、“u”、“t”、“s”、“r”、“q”、“p”、“o”、“n”、“m”、“l”、“k”、“j”、“i”、“h”、“g”、“f”、“e”、“d”、“c”、“b”、“a”};
字符串转换为“”;
对于(int i=0;i='a'){
转换+=字母版本[msg.charAt(i)-'a'];
}如果(msg.charAt(i)>='A'){
转换+=字母版本[msg.charAt(i)-'A'];
}否则{
转换+=味精字符(i);
}
}
System.out.println(“消息:+已转换);
}

感谢您的帮助,现在是您发送内容的快速补充,如果我能够将其反转回svool-->您好,我该怎么做呢?将字符串alpha[]的值交换为字符串alpharev[],反之亦然//字母表字符串alpha[]={“z”、“y”、“x”、“w”、“v”、“u”、“t”、“s”、“r”、“q”、“p”、“o”、“n”、“m”、“l”、“k”、“j”、“I”,“h”、“g”、“f”、“e”、“d”、“c”、“b”、“a”};//字母表反向字符串字母rev[]={“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z”};我改变了数组中的值,就像你说的链接:我做错了什么?实际上什么都不做上面的代码也适用于反向。。。