Я хочу сопоставить два значения текстового поля словами за словами и проверить, совпадают ли слова или нет. Если это не то же самое, он должен сказать мне процент совпадающих слов.
Например: я хороший мальчик (текстовое поле1) Я бог-мальчик (текстовое поле 2)
Тогда результат должен быть (3/5) * 100, так как 2 слова не совпадают, то есть я и хорошо.
Подскажите пожалуйста, как это сделать.
сначала очистите, что вы должны сравнить слова или символы
@ manan5439 слов
возможно, я могу написать Java-программу для вашей логики, вы можете использовать ее в Android
@ manan5439 да, я могу попробовать это. можете ли вы предоставить мне код Java
вот код, как вы хотите
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);
}
}
Попробуй это:
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 строками. Это чувствительно к регистру.
Какой ваш код вы пробовали?