Я пытаюсь сравнить две строки и суммировать различия их символов. Одна строка является пользовательским вводом (вводом), а другая - из массива строк (binary_patterns_array).
Я хотел бы сравнить каждую строку в массиве с входными данными и поместить сумму их различий в другой массив int. У меня есть другой метод, который перебирает массив int, чтобы найти наименьшее значение, которое даст мне индекс наиболее близкого соответствия. Вот код:
public static int[] difference(String input, String[] binary_patterns_array){
int[] difference_array = new int[32];
String binary_pattern = "";
int count = 0;
for(int i = 0; i < binary_patterns_array.length; i++){
binary_pattern = binary_patterns_array[i];
for(int j = 0; j < input.length(); j++){
if (binary_pattern.charAt(j) != input.charAt(j)){
count += 1;
}
difference_array[i] = count;
}
}
return difference_array;
}
Это не работает, но я не совсем уверен, почему. Два цикла делают именно то, что я от них хочу, но мое утверждение if или способ суммирования различий не соответствуют ожиданиям. Кто-нибудь может увидеть какие-либо вопиющие ошибки? Спасибо!