Всем привет! Я и так, и так стараюсь написать код, вроде все заработало, но не принимает.
package com.javarush.task.task22.task2209;
import java.io.*;
import java.util.*;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws FileNotFoundException {
List<String> words = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
String fileName = scanner.nextLine();
FileReader fileReader = new FileReader(new File(fileName));
try (BufferedReader reader = new BufferedReader(fileReader)) {
String strLong = "";
String str;
while ((str = reader.readLine()) != null) {
strLong += str;
}
words = new ArrayList<>(Arrays.asList(strLong.split("\\s")));
reader.close();
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
String[] countries = new String[words.size()];
for (int i = 0; i < words.size(); i++) {
countries[i] = words.get(i);
}
StringBuilder result = getLine(countries);
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
StringBuilder tempString = new StringBuilder();
if(words == null || words.length == 0) return tempString;
else {
int count = 0;
final Random random = new Random();
int lastWord = random.nextInt(words.length);
tempString.append(words[lastWord]);
for (;lastWord < words.length; lastWord++) {
int len = words.length;
if(count == words.length - 1){
break;
}
for (int j = 0; j < words.length; j++) {
String firstLetterFirstWord = String.valueOf(words[lastWord].charAt(0));
String lastLetterFirstWord = String.valueOf(words[lastWord].charAt(words[lastWord].length() - 1)).toUpperCase();
String firstLetterSecondWord = String.valueOf(words[j].charAt(0));
String lastLetterSecondWord = String.valueOf(words[j].charAt(words[j].length() - 1)).toUpperCase();
if (lastLetterFirstWord.equals(firstLetterSecondWord)) {
tempString.append(" " + words[j]);
lastWord = j;
--lastWord;
count++;
break;
}
else if (lastLetterSecondWord.equals(firstLetterFirstWord)) {
tempString.insert(0, words[j] + " ");
--lastWord;
count++;
break;
}
}
}
}
return tempString;
}
// public static void swap(String[] words, int first, int second){
// String value = words[first];
// words[first] = words[second];
// words[second] = value;
//
//
// }
}