恢复 2 个字符串之间的错误字符
Recover wrong char between 2 strings
我有 2 个字符串:str1 和 str2
它们几乎相同。
str1 = 001
str2 = 101
正如您在上面看到的,如果我将 str1 与 str2 进行比较,“1”是错误的字符。
我想用另一个替换这个字符:'X'
str1 = 001
str2 = X01
这是我的方法,它 returns 一个字符串并有 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 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);
我有 2 个字符串:str1 和 str2 它们几乎相同。
str1 = 001
str2 = 101
正如您在上面看到的,如果我将 str1 与 str2 进行比较,“1”是错误的字符。 我想用另一个替换这个字符:'X'
str1 = 001
str2 = X01
这是我的方法,它 returns 一个字符串并有 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 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);