Java替换所有错误的输出

Java替换所有错误的输出,java,Java,这不能正常输出。我已阅读以使用\\,但这给了我另一个错误。有什么帮助/替代方案吗 string = string.replaceAll("a", newAlphabet.substring(0,1)); string = string.replaceAll("b", newAlphabet.substring(1,2)); string = string.replaceAll("c", newAlphabet.substring(2,3)); string = string.replaceAll

这不能正常输出。我已阅读以使用\\,但这给了我另一个错误。有什么帮助/替代方案吗

string = string.replaceAll("a", newAlphabet.substring(0,1));
string = string.replaceAll("b", newAlphabet.substring(1,2));
string = string.replaceAll("c", newAlphabet.substring(2,3));
string = string.replaceAll("d", newAlphabet.substring(3,4));
string = string.replaceAll("e", newAlphabet.substring(4,5));
这只是代码的一部分。我正在尝试更改一条消息,以便将字母表中的每个字母都更改为另一个字母。就像一个跳跃的字母表 abcdefghijklmnopqrstuvwxyz 会变成这样吗 zmlapqokxswncdejibvhfurtgy

所以a=z等等


当我尝试获取输出时,有一半是正确的,有些是完全错误的,我不知道为什么我认为这是另一种选择


嗯。。。代码的问题在于,例如,将字母“a”更改为字母“z”后,仍然会将之后的所有字母“z”更改为另一个字母,即使这些字母已经是转换的结果

如果文本只有值<128(或256)的ASCII字符,我会选择映射数组:

String original    = "abcdefghijklmnopqrstuvwxyz";
String replacement = "zyxwvutsrqponmlkjihgfedcba";

int[] translate = new int[128];
for(int i = 0; i<128; i++) {
    translate[i] = i; //default = not change
}

for(int i = 0; i<original.length(); i++) {
    translate[original.charAt(i)] = replacement.charAt(i);
}

String toTranslate = "Hello world!";
StringBuilder sb = new StringBuilder();

for(int i = 0; i<toTranslate.length(); i++) {
    sb.append((char) translate[toTranslate.charAt(i)]);
}

String result = sb.toString();

System.out.println(result); //prints: Hvool dliow!
String original=“abcdefghijklmnopqrstuvxyz”;
字符串替换=“zyxwvutsrqponmlkjihgfedcba”;
int[]translate=新int[128];

对于(int i=0;iDefine“输出不正确”。您的实际输出与预期输出是什么?或者这是否不编译?您是否检查了子字符串的输出?可能错误已经存在。谢谢!子字符串错误。子字符串(8,9));在普通字母表中用“e”代替“i”为什么?唯一的问题是我不知道新字母表的顺序。这个程序是为我做的,这就是为什么我要使用子字符串这一个呢?这看起来很棒的字符串myString=“foo[]bar”;myString=myString.replaceAll(Pattern.quote(“foo[]”),Matcher.quoteReplacement(“bar$”));System.out.println(myString);@user3673571,逐个检查所有字母,并将转换后的字母连接到StringBuilder中
String original    = "abcdefghijklmnopqrstuvwxyz";
String replacement = "zyxwvutsrqponmlkjihgfedcba";

int[] translate = new int[128];
for(int i = 0; i<128; i++) {
    translate[i] = i; //default = not change
}

for(int i = 0; i<original.length(); i++) {
    translate[original.charAt(i)] = replacement.charAt(i);
}

String toTranslate = "Hello world!";
StringBuilder sb = new StringBuilder();

for(int i = 0; i<toTranslate.length(); i++) {
    sb.append((char) translate[toTranslate.charAt(i)]);
}

String result = sb.toString();

System.out.println(result); //prints: Hvool dliow!