我有2个字符串:str1和str2它们几乎相同。
str1 = 001
str2 = 101
如上所示,如果我将str1与str2进行比较,则'1'是错误的char。我想用另一个替换这个char:'X'
str1 = 001
str2 = X01
这是我的方法,它返回一个String并有2个字符串参数(str1和str2):
char charArray1[] = str1.toCharArray();
char charArray2[] = str2.toCharArray();
String str = "";
for(int i=0; i<charArray1.length; i++){
if(charArray1[i] != charArray2[i]){
charArray2[i]='X';
}
str = new String(charArray2);
}
System.out.print(str1 + " is now : " + str + "\n");
return str;
但我不知道为什么它不起作用。实际上,我无法修改str2的错误字符'1'(我想要X01而不是101)。你知道为什么吗?
String str1 = "001";
String str2 = "101";
char charArray1[] = str1.toCharArray();
char charArray2[] = str2.toCharArray();
String str = "";
for(int i=0; i<charArray1.length; i++){
if(charArray1[i] != charArray2[i])
{
charArray2[i] = 'X';
} else
str = new String(charArray2);
}
System.out.print(str1 + " is now : " + str + "\n");
一切完成后,str
应该分配一次。
没有必要为两个字符串创建一个char数组......
char charArray1[] = str1.toCharArray();
for(int i=0; i<charArray1.length; i++) {
if (charArray1[i] != str2.get(i)) {
charArray1[i] = 'X';
}
}
String str = new String(charArray1);
System.out.println(str1 + " is now : " + str);