【发布时间】:2014-03-19 16:23:58
【问题描述】:
我想逐个字符地比较多个字符串,并希望输出一个字符串,其中包含大多数字符串中存在的字符。 例如我使用了三个字符串: 输入:S1=哪里,S2=这里,S3=哪里 输出:S=哪里。
我可以使用代码为 3 个字符串做到这一点:
public class stringc {
static String S1="where";
static String S2="wHere";
static String S3="whera";
static StringBuilder S=new StringBuilder();
public static void main(String[] args)
{
for (int i=0;i<5;i++)
{
if(S1.charAt(i)==S2.charAt(i)||S1.charAt(i)==S3.charAt(i))
{
S.append(S1.charAt(i));
}
}
}
}
谁能帮我用它来处理超过 10 个字符串。
【问题讨论】:
-
您说“存在于大多数字符串中”实际上应该读作“存在于所有字符串中”吗?
-
这里是否可以选择使用 Guava 或 Java 8?因为使用 MultiSet 或 lambdas 的组合很容易实现这一点。你需要做的是对一袋字符进行多数表决,这类似于this question 对整数的多数表决。
标签: java string compare stringbuilder