Доброго дня) код отрабатывает верно и со словами из задачи и с незамкнутыми цепочками из 20 слов, но Валя ругается на пункт "Убедись, что ты не используешь статические поля в классе Solution"...
Не могу понять, в чём проблема.
Буду премного благодарен за ревью)
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.charset.Charset;
import java.nio.charset.StandardCharsets;
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 reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader reader1 = new BufferedReader(new InputStreamReader(new FileInputStream(reader.readLine())));
String s = reader1.readLine();
String[] array = s.split(" ");
StringBuilder result = getLine(array);
System.out.println(result.toString());
}
public static StringBuilder getLine(String... words) {
if (words.length==0){
return new StringBuilder();
}
StringBuilder stringBuilder = new StringBuilder();
Queue<String> queue = new LinkedList<>(Arrays.asList(words));
stringBuilder.append(queue.poll());
int count = 0;
while (!queue.isEmpty()){
String current = stringBuilder.substring(stringBuilder.length()-1);
String temp = queue.poll();
assert temp != null;
String end = temp.substring(0,1);
if (current.equalsIgnoreCase(end)){
stringBuilder.append(" ").append(temp);
}
else {
queue.add(temp);
count++;
}
if (count>500){
stringBuilder=new StringBuilder();
queue=new LinkedList<>(Arrays.asList(words));
Collections.shuffle((List<?>) queue);
stringBuilder.append(queue.poll());
count=0;
}
}
return stringBuilder;
}
}