Понимаю код запутаный но работает. Может кто то поосоветует текст для тестировани. Не могу понять чего хочет валидатор.
Для автора этой задачи приготовлено отдельное место в аду.
В методе main с консоли считать имя файла, который содержит слова, разделенные пробелами.
Найти в тексте все пары слов, которые являются обращением друг друга. Добавить их в result.
Использовать StringBuilder.
Кодировка файла - UTF-8.
Пример содержимого файла рот тор торт о
о тот тот тот
Вывод: рот тор
о о
тот тот
Требования:
Метод main должен считывать имя файла с клавиатуры.
В методе main должен быть использован StringBuilder.
В классе Solution должен содержаться вложенный класс Pair с методами equals, hashCode и toString. Удалять или изменять эти методы нельзя.
В классе Pair должен быть объявлен конструктор без параметров (или конструктор по умолчанию).
Список result должен быть заполнен корректными парами согласно условию задачи.
рот тор торт о
о тот тот тот
o
lol lol
lol lol
o
0
Комментарии (3)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
У тебя код работает практически правильно. Только тебе нужно в одном месте поставить следующее выражение j=0 и тогда после удаления, цикл не будет пропускать слова)
Потестил код с разными данными)
Плюс, когда удаляешь из массива, надо быть внимательным, так как i остается с тем же значением(например 10), а после удаления двух элементов, i всё еще равняется 10, но при этом уже указывает на десятый элемент массива с удаленными данными(которые могли сместиться, если j < 10)