Тестовый вывод идет правильно, если добавлены слова дополнительные тоже выводит правильно, кто подскажет в какую сторону копать?
package com.javarush.task.task22.task2209;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.StringTokenizer;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) {
String[] s = null;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try(BufferedReader freader = new BufferedReader(new FileReader(reader.readLine()))){
s = freader.readLine().split(" ");
}catch (Exception e){
}
StringBuilder result = getLine(s);
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
if (words == null) return new StringBuilder();
ArrayList<String> list = new ArrayList<>(Arrays.asList(words));
StringBuilder sb = new StringBuilder();
sb.append(list.get(0));
list.remove(0);
int count = 0;
while (!list.isEmpty()){
char a = sb.charAt(sb.length()-1);
if (count > 15) {
sb.append(" ").append(list.get(0));
list.remove(0);
}
for (int j = 0; j < list.size(); j++) {
String b = list.get(j).toLowerCase();
char bb = b.charAt(0);
count++;
if (a == bb) {
sb.append(" ").append(list.get(j));
list.remove(j);
count = 0;
}
}
}
return sb;
}
}