Я пытаюсь найти, если две строки являются анаграммы друг друга:Поиск анаграммы, используя список массива
void anagram(String a, String b) {
List<Character> bcopy = new ArrayList<Character>();
for (int i = 0; i < b.length(); i++)
bcopy.add(b.charAt(i));
if (b.length() == 0 || a.length() == 0) {
System.out.println("Exit");
} else {
for (int i = 0; i < a.length(); i++) {
char temp = a.charAt(i);
if (bcopy.contains(temp)) {
System.out.println("match found" + temp);
bcopy.remove(temp);
}
for (char j : bcopy) {
System.out.println("Values" + j);
}
}
}
}
Я получаю ошибку выхода за границы изменений в отдалении линии(). Может кто-нибудь, пожалуйста, скажите мне, как я достигаю границей массива, когда я ищу доступность объекта? Что мне здесь не хватает?
Пробовал ли вы отлаживать и видеть состояние переменных? –
Я вижу, что я получаю сообщение об ошибке только тогда, когда две строки имеют одинаковые символы. –
Спасибо, но я использую содержит. Где я использовал == –