И как мне это понимать? У меня все прекрасно работает, и если я уберу сортировку все пойдет мягко говоря не в то русло.
Ошибка в файле com/javarush/task/task22/task2209/Solution.java в строке : 45
Компилятор не нашел подходящий метод для "sort(java.util.ArrayList<java.lang.StringBuilder>)"
Проверьте правильность переданных параметров: java.util.ArrayList<java.lang.StringBuilder>.
Возможно, вы забыли импортировать нужный класс.
package com.javarush.task.task22.task2209;
import java.util.Collections;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
/*
Составить цепочку слов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), StandardCharsets.UTF_8));
ArrayList<String> list = new ArrayList<>();
while (br.ready()) {
String line = br.readLine();
String arr[] = line.split(" ");
for (String s : arr)
list.add(s);
}
StringBuilder str = new StringBuilder(list.toString().replaceAll(",", ""));
str.delete(0, 1);
str.delete(str.length() - 1, str.length());
StringBuilder result = getLine(str.toString().split(" "));
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
if (words==null) return null;
if (words.length==0) return null;
ArrayList<StringBuilder> list = new ArrayList<>(words.length);
ArrayList<StringBuilder> list2 = new ArrayList<>(words.length);
StringBuilder result = new StringBuilder();
for (String s : words) {
list.add(new StringBuilder(s));
list2.add(new StringBuilder(s));
}
Collections.sort(list);
Collections.sort(list2);
result.append(list.get(0)+ " ");
list2.remove(0);
for (int i = 0; (i < list.size()) && list2.size() != 0; i++ ) {
if (i>0){
for (StringBuilder s: list2)
result.append(s+" ");
break;
}
for (int j = 0; j < list2.size(); j++) {
if (list.get(i).charAt(list.get(i).length() - 1) == Character.toLowerCase(list2.get(j).charAt(0))) {
result.append(list2.get(j) +" ");
list.remove(0);
for (int k = 0; k < list.size(); k++) {
if (list.get(k).toString().equals(list2.get(j).toString()))
list.remove(k);
}
list.add(0, list2.get(j));
list2.remove(j);
}
}
}
return new StringBuilder(result.toString().trim());
}
}