Сравнить 2 значения текстового поля по символам

Я хочу сопоставить два значения текстового поля словами за словами и проверить, совпадают ли слова или нет. Если это не то же самое, он должен сказать мне процент совпадающих слов.

Например: я хороший мальчик (текстовое поле1) Я бог-мальчик (текстовое поле 2)

Тогда результат должен быть (3/5) * 100, так как 2 слова не совпадают, то есть я и хорошо.

Подскажите пожалуйста, как это сделать.

Какой ваш код вы пробовали?

Eric Leschinski 23.06.2018 21:31

сначала очистите, что вы должны сравнить слова или символы

manan5439 23.06.2018 21:32

@ manan5439 слов

ashish 23.06.2018 21:35

возможно, я могу написать Java-программу для вашей логики, вы можете использовать ее в Android

manan5439 23.06.2018 21:37

@ manan5439 да, я могу попробовать это. можете ли вы предоставить мне код Java

ashish 23.06.2018 21:38
1
5
78
2

Ответы 2

вот код, как вы хотите

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 строками. Это чувствительно к регистру.

Другие вопросы по теме