Чтобы найти повторяющиеся символы в строке в Java, можно использовать массив int[], где каждый элемент соответствует ASCII коду символа, а значение элемента - количество вхождений символа в строку. Затем можно пройти по всем элементам массива и вывести только те символы, у которых количество вхождений больше 1.
Вот пример кода на Java, который реализует такой поиск:
public static void findDuplicates(String str) {
int[] charCounts = new int[256]; // создаем массив для всех символов ASCII таблицы for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
charCounts[c]++; // увеличиваем счетчик в массиве }
for (int i = 0; i < charCounts.length; i++) {
if (charCounts[i] > 1) {
System.out.println((char)i + " повторяется " + charCounts[i] + " раз(а)"); // выводим результат для каждого символа с количеством вхождений больше 1 }
}
}
В этом примере мы создаем массив charCounts длиной 256, где каждый элемент соответствует одному из символов ASCII таблицы. Затем мы проходим по всем символам строки, увеличивая значение соответствующего элемента массива charCounts.
После того, как мы подсчитали количество вхождений всех символов, мы проходим по массиву и выводим результат только для тех символов, у которых количество вхождений больше 1.
Заметьте, что данная реализация работает только для символов ASCII таблицы. Если встречаются символы расширенной таблицы Unicode, то необходимо использовать более продвинутую реализацию.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov