我是C ++的初学者,我正在尝试创建两个字符串
任何建议?
答案 0 :(得分:0)
在这种情况下,Equals方法无法帮助您。使用charAt()进行比较。使用两个for循环并迭代两个字符串,然后将不匹配的字符添加到一个字符串并最后打印它。 例如:
for(int i=0;i<inputword.length;i++){
for(int j=0;i<inputword2.length;j++){
if(inputword.chatAt(i)==inputword2.charAt(j)){
//here write your logic or remove it from your string
}
}
}
答案 1 :(得分:0)
要计算开头有多少个字,一个单词“重叠”到第二个结尾:
public static int combinedLength(String s1, String s2) {
s1 = s1.toLowerCase();
s2 = s2.toLowerCase();
for (int i = 1; i < s1.length() && i < s2.length(); i++)
if (s1.endsWith(s2.substring(0, i+1)) || s2.endsWith(s1.substring(0, i+1)))
return s1.length() + s2.length() - i;
return s1.length() + s2.length();
}
这可以通过逐步测试开始/结束时更长的字母序列,如果找到s1从s2结束开始,反之亦然。因为只能有一个这样的匹配,所以找到的第一个匹配返回两个长度之和减去迭代次数的结果。没有匹配返回两个长度的总和。
测试:
combinedLength("super", "perfect") ==> 9
combinedLength("perfect", "super") ==> 9
combinedLength("pencil", "eraser") ==> 12