【问题标题】:Comparing multiple strings in Java [closed]比较Java中的多个字符串[关闭]
【发布时间】:2014-03-04 11:59:35
【问题描述】:

我有 5 个不同的字符串,比如 string1 到 string5。

我想编写一个简单的 if 语句,如果五个字符串中的任何两个包含相同的字符串,该语句就会运行。我该怎么做?

提前致谢!

【问题讨论】:

  • 我知道很多答案在路上,意思是你能展示你的努力吗?
  • 把它们放在Set 中,看看它有多大。
  • @tobias_k 不起作用:OP 想要检查 contain the same string
  • 您不能为此编写“简单的 if 语句”。您还需要一个 for 循环,可能不止一个。
  • @MarkoTopolnik 你只需要找出他们是否共享一个子字符串,而不是找到最长的公共子字符串等。根据“包含相同字符串”的含义,您可以将所有字符放在一组中,然后查看您当前正在查看的单词是否包含其中任何一个。应该是 O(n),除非我遗漏了什么。

标签: java string if-statement compare


【解决方案1】:

比较是二元运算,因此您一次只能比较两个对象。我建议使用循环并将每个字符串与其余字符串进行比较。

public boolean multipleStringEquals(String[] strings) {

    for (int i = 0; i < strings.length; i++) {
        for (int j = i + 1; j < strings.length; j++) {
            if (strings[i].equals(strings[j])) {
                return true;
            }
        }
    }
    return false;
}

【讨论】:

  • @OldCurmudgeon 是的,你是对的,已修复。谢谢
  • @ambigram_maker 为什么?它正在检查 any 两个字符串是否相等,而不是所有字符串。
  • 对...它确实要求一份副本。 (对不起)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
相关资源
最近更新 更多