我正在尝试使用某些模式替换字符串“ 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';
}


我尝试使用“ replaceAll”,但在第一次迭代后遇到了两个问题。

关于如何使它更好的任何想法?
提前致谢!

最佳答案

对于length(),没有char[]这样的方法。将其更改为charAlp.length

接下来,将charAlp.length - 1更改为charAlp.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);


现在,您将charAlp更改为“ bca”而不是“ abc”(根据需要)

09-06 00:42