Сламаль
package com.javarush.task.task22.task2209;
import java.io.*;
import java.util.*;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//...
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine(); // C:/data.txt
reader.close();
BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));
String s = "";
while (bufferedReader.ready())
s += bufferedReader.readLine() + " ";
bufferedReader.close();
String [] split = s.split(" ");
split[0] = split[0].replaceAll("\uFEFF", "");
StringBuilder result = getLine(split);
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
StringBuilder stringBuilder = new StringBuilder("");
if (words.length == 0) return stringBuilder;
ArrayList<String> list = new ArrayList<>(Arrays.asList(words));
Collections.sort(list);
stringBuilder.append(list.get(0));
list.remove(0);
while (true) {
boolean b = false;
for (int i = 0; i < list.size(); i++){
if (stringBuilder.toString().toLowerCase().charAt(stringBuilder.length() - 1) == list.get(i).toLowerCase().charAt(0)) {
stringBuilder.append(" ").append(list.get(i));
list.remove(i);
b = true;
}
}
if (list.size() == 0 || !b) break;
}
return stringBuilder;
}
}