Ну с 4 условием разберусь. А вот с остальными проблема, хелп) Не могу понять почему компилятор ругается на 33 строку.
package com.javarush.task.task22.task2209;
import java.io.*;
import java.util.*;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) {
String str = "";
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader readerFile = new BufferedReader(new FileReader(reader.readLine()))){
while (readerFile.ready()){
str += readerFile.readLine() + " ";//...
}
}catch (IOException e){
e.printStackTrace();
}
StringBuilder result = getLine(str.split(" "));
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
if (words == null){
return new StringBuilder();
}
List<String> copy = Arrays.asList(words.clone());
List<String> result = new ArrayList<>();
result.add(copy.get(0));
copy.remove(copy.get(0));
while (copy.size() != 0) {
for (int i = 0; i < copy.size(); i++) {
String str = copy.get(i);
char first = str.charAt(0);
String a = result.get(result.size()-1);
if (a.charAt(a.length()-1) == first || a.charAt(a.length()-1) == first - 32 || a.charAt(a.length()-1) == first + 32){
result.add(" " + copy.get(i));
i = 0;
copy.remove(str);
}
}
}
StringBuilder stringBuilder = new StringBuilder();
for (String a:
result) {
stringBuilder.append(a);
}
return stringBuilder;
}
}