Ищете идеи о том, как это сделать. В принципе, я хочу, чтобы некоторые персонажи имели эквивалентность.Письма с одинаковой эквивалентностью
Например: M = N
Итак: мама = Нун
Однако: мама может также равна Num.
Мне посоветовали попробовать карту замен, и это сработало до третьего примера, когда не все M должны быть изменены на N.
Благодаря
Это код карты замены:
HashMap<String,String> replacements = new HashMap<>();
replacements.put("n","m");
replacements.put("m","n");
String ignoreFirstChar = names[j].charAt(0) + (names[j].substring(1,names[j].length()).replaceAll("[^a-zA-Z]+", "").toLowerCase());
String result = "";
for(int i1 = 0; i1 < ignoreFirstChar.length(); i1++) {
String rpl = replacements.get(ignoreFirstChar.charAt(i1)+"");
result += rpl==null?ignoreFirstChar.charAt(i1):rpl;
}
System.out.println(ignoreFirstChar);
System.out.println(result);
Можете ли вы показать код, который вы пробовали? Трудно сказать, что вы на самом деле спрашиваете здесь. –
Возможно, другой подход состоял бы в использовании классов эквивалентности: замените все экземпляры значений внутри одного класса на отдельный символ (возможно, '#'), а затем сравните полученные строки. Проверьте это для каждого класса эквивалентности отдельно. – Sirko
Я бы просто назначил им числовые значения, и они добавили их. Может быть, как A = 1, B = 2, C = 4, D = 8 и т. Д., Но тогда я не уверен, что вы подразумеваете под «не все M должны быть изменены на N». Если вы проверяете эквивалентность строк, то имеет ли значение, является ли M N или нет, если M = N? – MxyL