Java 如何检查字符串中的重复字符并计算其位置

Java 如何检查字符串中的重复字符并计算其位置,java,arrays,string,Java,Arrays,String,我需要的是转换字符串的代码,如“a13cA45b”中的“acaAAb”,因为“a”是字符串中的第一个和第三个字母,“a”是第四个和第五个字母 我对java非常陌生,不知道该怎么办。到目前为止,我的代码是: String resSplit[] = res.split(""); String str; for(int i = 0; i < resSplit.length; i++){ str = resSplit[i]; for (int j = -1; (j = res.in

我需要的是转换字符串的代码,如“a13cA45b”中的“acaAAb”,因为“a”是字符串中的第一个和第三个字母,“a”是第四个和第五个字母

我对java非常陌生,不知道该怎么办。到目前为止,我的代码是:

String resSplit[] = res.split("");
String str;
for(int i = 0; i < resSplit.length; i++){
    str = resSplit[i];
    for (int j = -1; (j = res.indexOf(str, j + 1)) != -1; ){
        resSplit[i] = resSplit[i] + (j+1);
    }
}
for(int i = 0; i < resSplit.length; i++){
    for(int j = 1; j < resSplit.length; j++){
        if(resSplit[i].equals(resSplit[j])){
    //      resSplit[i] = "";
        }
    }
}
res = "";
for(int i = 0; i < resSplit.length; i++){
    res = res + resSplit[i];
}
String resSplit[]=res.split(“”);
字符串str;
对于(int i=0;i
其中res是要转换的字符串,如果res是例如“acAAb”,则输出为“a1c2A34A34b5”

请帮忙

示例: “Accb”至“Ac23b” “cCbb”至“cCb34” “bAca”保持不变,因为每个字母不超过一个

编辑: 我只想给出现多次的字母编号

编辑: 请不要回答我的问题,因为你不明白。我不是英国人,我正在尽力解释!您将阻止我:\

此处:

for (int j = -1; (j = res.indexOf(str, j + 1)) != -1; ){
    resSplit[i] = resSplit[i] + (j+1);
}
您可以检查
(j+1)
是否大于0。如果是,则只添加数字

例如:


所以你想忽略字符串中的c和b?你能解释一下转换的输入和输出吗?我想给多次出现的字母加上数字,让其他字母“无数字”,所以在“ac13A45b”中加上“acaAAb”?是的,这正是我需要的。plit[I]+((j+1)>0)给了我一个错误:无法从字符串转换为布尔值它没有改变,如果我给它“acAAb”,它仍然会把它转换成“a1c2A34A34b5”,而不是acA34b:cWell至少你教过我关于“?:”的东西,谢谢c:
for (int j = -1; (j = res.indexOf(str, j + 1)) != -1; ){
    resSplit[i] = resSplit[i] + ( (j+1)>0 ? j+1 : "" );
}