比较Java字符串中的每个字符

时间:2013-10-19 01:09:40

标签: c++ iequalitycomparer

我是C ++的初学者,我正在尝试创建两个字符串

任何建议?

2 个答案:

答案 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