java - 一次替换多个字符

标签 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';
}

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

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

最佳答案

char[] 没有length() 这样的方法。将其更改为 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"(如您所愿)

关于java - 一次替换多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15354909/

相关文章:

php - 从mysql获取数据到android中的 ListView 只显示表中的第一项如何修复?

java - 根据属性值从 ArrayList 打印选定的对象

java - tomcat没有这个方法

android - 使用 showAsAction ="ifRoom"未在 ActionBar 中显示操作项

java - 使用安卓 JNI

javascript - MongoDB 正则表达式替换

ios - 触摸 uitextField 时如何用 uitextView 替换 uitextField (swift 2)

javascript - 如何更改 Twitter 上推文中的文本?

java - 通过Java,调用联网设备上的Javascript函数?

java - 哪个 Map-Reduce 库和/或平台与 java 一起使用