где ошибся
package com.javarush.task.task22.task2209;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import java.io.*;
import java.util.Arrays;
import java.util.Collections;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException{
//...
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String filename = br.readLine();
br.close();
FileReader fr = new FileReader(filename);
BufferedReader br1 = new BufferedReader(fr);
String ss = "";
StringBuilder sb = new StringBuilder();
while((ss = br1.readLine()) != null){
sb.append(ss);
sb.append(" ");
}
String [] text = sb.toString().split(" ");
StringBuilder result = getLine(text);
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
StringBuilder nullsb = new StringBuilder("");
if(words == null || words.length == 0){
return nullsb;
}
int countlist = 0;
StringBuilder result = new StringBuilder();
ArrayList<String> list = new ArrayList<>();
for(int i = 0;i<words.length;i++){
list.add(words[i]);
}
while(true){
Collections.shuffle(list);
if(check(list)){
for(String s : list){
result.append(s+" ");
}
String str = result.toString().trim();
StringBuilder res = new StringBuilder(str);
return res;
}
}
}
public static boolean check(ArrayList<String> l){
for(int i = 0;i<l.size()-1;i++){
String s1 = l.get(i).substring(l.get(i).length()).toLowerCase();
String s2 = l.get(i+1).substring(0,1).toLowerCase();
char a = s1.charAt(0);
char b = s2.charAt(0);
if(!(a == b)){
return false;
}
}
return true;
}
}