一次更换多个字符

Mig*_*uel 1 java android replace

我正在尝试用某些模式替换字符串"abc":

当'a'替换为'b'时,'b'替换为'c',当'c'替换为'a'时.

我现在的代码是:

String alp = "abc";
String alteredAlp = "";
char [] charAlp = alp.toLowerCase().toCharArray();

for (int i = 0; i < charAlp.length() - 1; i++)
{
    if(charAlp[i] == 'a')
        alteredAlp += 'b';
    else if(charAlp[i] == 'b')
        alteredAlp += 'c';
    else if(charAlp[i] == 'c')
        alteredAlp += 'a';
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用'replaceAll',我在第一次迭代后遇到了几个问题.

关于如何做到这一点的任何想法?提前致谢!

Mar*_*oun 5

有,因为没有这样的方法length()为一个char[].改为charAlp.length

接下来,更改charAlp.length - 1charAlp.length,您的代码将起作用.

相反,你可以这样做:(没有额外的字符串)

for (int i = 0; i < charAlp.length ; i++)
{
   if(charAlp[i] == 'a')
    charAlp[i]= 'b';
   else if(charAlp[i] == 'b')
    charAlp[i]= 'c';
   else if(charAlp[i] == 'c')
    charAlp[i]= 'a';
}
System.out.println(charAlp);
Run Code Online (Sandbox Code Playgroud)

现在,你变了charAlp"BCA",而不是"ABC"(为你想)