ложное срабатывание требует фактического набора данных, я думаю, что имел в виду ваш профессор: добавьте 'a' - 'z', 'A' - 'Z' к фильтру (фактические данные) сейчас, проверьте все строки "aa "-" ZZ ", подсчитать количество ложных срабатываний (все положительные значения будут ложными, поскольку ни один из них не содержится в данных) и извлечь соотношение: #false_positives/#strings_in_range("aa","ZZ")
РЕДАКТИРОВАТЬ: в комментариях @Bill спросил, как перебрать «aa» - «ZZ», вот простая подсказка кода, как это сделать.
Set<String> set = new HashSet<String>();
for (Character c = 'a';c<='z';c++) {
String lower = c.toString();
String upper = c.toString().toUpperCase();
for (Character k = 'a';k<='z';k++) {
set.add(lower + k.toString());
set.add(lower + k.toString().toUpperCase());
set.add(upper + k.toString());
set.add(upper + k.toString().toUpperCase());
}
}