我试图用java创建一个方法,从给定的字符串中“减去”子字符串。例如,如果我的输入是“committee”和“meet”,那么输出应该是“comit”。
这是我目前所拥有的,但它没有做它应该做的。我很确定问题出在代码末尾的嵌套for循环的迭代中,但是我不知道问题出在哪里或者如何解决它。
public static String remove(String str1, String str2) {
char[] char1 = new char [str1.length()];
char[] char2 = new char [str2.length()];
char[] char3 = new char [str1.length()];
int k = 0;
for (int i = 0; i < str1.length(); i++) { // converts str1 to char1
char1[i] = str1.charAt(i);
}
for (int j = 0; j < str2.length(); j++) { // converts str2 to char2
char2[j] = str2.charAt(j);
}
for (int i = 0; i < char1.length; i++) { // loops through char1
for(int j = 0; j < char2.length; j++) {
if (char1[i] != char2[j]) {
char3[k] = char1[i];
}
}
k++;
}
return String.valueOf(char3);
}
2条答案
按热度按时间3pvhb19x1#
在要删除的字符数组上循环时,可以使用
replaceFirst
. 已删除的原始字符串上的字符应标记为特定字符,以便以后重建结果时可以重新访问。样本输出:
vc6uscn92#
这不是更简单吗: