На входе файл input.txt, на выходе вот что:
рот тор
о о
рот тор
о о
тот тот
о о
тот тот
тот тот
В методе main с консоли считать имя файла, который содержит слова, разделенные пробелами.
Найти в тексте все пары слов, которые являются обращением друг друга. Добавить их в result.
Использовать StringBuilder.
Кодировка файла - UTF-8.
Пример содержимого файла рот тор торт о
о тот тот тот
Вывод: рот тор
о о
тот тот
Требования:
Метод main должен считывать имя файла с клавиатуры.
В методе main должен быть использован StringBuilder.
В классе Solution должен содержаться вложенный класс Pair с методами equals, hashCode и toString. Удалять или изменять эти методы нельзя.
В классе Pair должен быть объявлен конструктор без параметров (или конструктор по умолчанию).
Список result должен быть заполнен корректными парами согласно условию задачи.
....
рот тор торт о рот тор торт о рот тор торт о
о тот тот тот о тот тот тот о тот тот тот
0
Комментарии (3)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
На валю свалить не получится, потому что вывод у тебя неправильный.
Например "рот тор" должен быть выведен трижды, а выводится только дважды.
Представь, что у тебя 5 элементов в strings и первые два равны.
Тогда у тебя запускается цикл ( i = 0 ).
Сравниваются первый элемент и второй, оказываются равными, ты их оба удаляешь и переходишь на вторую итерацию. Теперь у тебя i = 1. НО! Сейчас, после удаления двух элементов бывший элемент с индексом 2 стал элементом с индексом ноль! А ты просто его игнорируешь и начинаешь с i = 1.
Надеюсь, не слишком путано объяснил.
Спасибо, Ваше объяснение очень понятно. Скажу больше, мне самому было не до конца ясно, как работает моя программа, но благодаря Вашему комментарию все встало на свои места и Валя принял исправленное решение)