Java 如何检查字符串中的重复字符并计算其位置
我需要的是转换字符串的代码,如“a13cA45b”中的“acaAAb”,因为“a”是字符串中的第一个和第三个字母,“a”是第四个和第五个字母 我对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
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 : "" );
}