我想逐字映射两个文本框值,并检查两个字是否相同。如果不一致,则应告诉我匹配词的百分比。
例如:我是个好男孩(文本框1) 我是神童(文本框2)
然后的结果应该是(3/5)* 100,因为2个单词不匹配,这是我很好。
请告诉我该怎么做。
答案 0 :(得分:0)
这是您想要的代码
public class Test {
public static void main(String[] args) {
String str1 = "I am a good boy";
String [] s_str1 = str1.split(" ");
String str2 = "Am a god boy";
String [] s_str2 = str2.split(" ");
int match = 0;
for(int i=0;i<s_str1.length;i++){
for(int j=0;j<s_str2.length;j++){
if(s_str1[i].equalsIgnoreCase(s_str2[j])){
match++;
}
}
}
int result = match*100/s_str1.length; //use length of string which is
your main str
System.out.println(result);
}
}
答案 1 :(得分:0)
尝试一下:
int getCommonWords(String s1, String s2) {
Set<String> set1 = new HashSet<>(Arrays.asList(s1.split(" ")));
Set<String> set2 = new HashSet<>(Arrays.asList(s2.split(" ")));
set1.retainAll(set2);
return set1.size();
}
返回2个字符串之间的常用单词数。这是区分大小写的。