Гдето закрылся бесконечный цыкл, но я никак не могу его найти. Возможно при какахто входных данних програма зацыклится, подскажыте пожалуста.
package com.javarush.task.task22.task2209;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
StringBuilder result = getLine(String.join(" ", Files.readAllLines(Paths.get(consoleReader.readLine()))).split(" "));
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
if (words.length == 0)
return new StringBuilder();
List<String> remainedWords = new ArrayList<>(Arrays.asList(words));
StringBuilder result = new StringBuilder(remainedWords.remove(0));
char lastLetter = Character.toLowerCase(result.charAt(result.length() - 1));
while (!remainedWords.isEmpty()) {
for (int i = 0; i < remainedWords.size(); i++) {
String word = remainedWords.get(i);
if (word != null && word.length() > 0 && Character.toLowerCase(word.charAt(0)) == lastLetter) {
result.append(" ");
result.append(remainedWords.remove(i));
lastLetter = word.charAt(word.length() - 1);
break;
}
}
}
return result;
}
}