Привет! Хотелось бы спросить совета, что сейчас стоит предпринять? Кажется алгоритм не совсем корректно работает, почему?
package com.javarush.task.task22.task2209;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.StringTokenizer;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
StringBuilder result = null;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try (BufferedReader fileReader = new BufferedReader(new FileReader(reader.readLine()))){
result = getLine(fileReader.readLine().split(" "));
}
//...
String s = result.toString();
System.out.println(s);
}
public static StringBuilder getLine(String... words) {
StringBuilder stringBuilder = new StringBuilder();
if(words == null)
return stringBuilder;
String firstLine = "";
String lastLine = "";
StringBuilder lines = new StringBuilder();
for (int i = 0; i < words.length; i++) {
if(i == words.length-1)
break;
for (int j = 1; j < words.length; j++) {
if(words[i].toLowerCase(Locale.ROOT).charAt(0) == words[j].toLowerCase(Locale.ROOT).charAt(words[j].length()-1)) {
firstLine = words[i];
lastLine = words[j];
for (int k = 0; k < words.length; k++) {
if (words[k] != firstLine && words[k] != lastLine)
lines.append(" ").append(words[k]);
}
break;
} else i++;
}
break;
}
stringBuilder.append(firstLine).append(lines).append(" ").append(lastLine);
return stringBuilder;
}
}