Протестировал на различных вариантах, постарался учесть все возможные казусы.
Что мог упустить?
Ведь все заявленные требования выполняются.
В методе main считай с консоли имя файла, который содержит слова, разделенные пробелом.
В методе getLine используя StringBuilder расставь все слова в таком порядке, чтобы последняя буква данного слова совпадала с первой буквой следующего не учитывая регистр.
Каждое слово должно участвовать 1 раз.
Считай, что абсолютно все слова из исходного списка могут (и должны!) быть включены в результат (лишних слов нет).
Метод getLine должен возвращать любой правильный вариант при наличии нескольких таковых (см. пример).
Слова разделять пробелом.
Вывести полученную строку на экран.
Пример тела входного файла: Киев Нью-Йорк Амстердам Вена Мельбурн
Результат: Амстердам Мельбурн Нью-Йорк Киев Вена
или Вена Амстердам Мельбурн Нью-Йорк Киев
или Мельбурн Нью-Йорк Киев Вена Амстердам
и т.п.
Требования:
Метод main должен считывать имя файла с клавиатуры.
В классе Solution не должно быть статических полей.
В методе getLine должен быть использован StringBuilder.
Метод getLine должен возвращать пустую строку (пустой StringBuilder) в случае если ему не были переданы параметры (слова).
Метод getLine не должен изменять переданные ему параметры (слова).
Все слова переданные в метод getLine должны быть включены в результирующую строку.
Вывод на экран должен соответствовать условию задачи.