здравствуйте, помогите с тестированием, накиньте наборы слов. благодарю.
package com.javarush.task.task22.task2207;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/*
Обращенные слова
*/
public class Solution {
public static List<Pair> result = new LinkedList<>();
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader reader1 = new BufferedReader(new FileReader(reader.readLine()))){
StringBuilder sb1 = new StringBuilder();
while (reader1.ready()){
sb1.append(reader1.readLine());
if(reader1.ready()) sb1.append(" ");
}
StringBuilder sb2 = new StringBuilder(sb1.toString()).reverse();
// System.out.println(sb1);
// System.out.println(sb2);
String[] words1 = sb1.toString().split(" ");
String[] words2 = sb2.toString().split(" ");
List<String> words2List = new ArrayList<>(Arrays.asList(words2));
// System.out.println(Arrays.toString(words1) + words1.length);
// System.out.println(words2List);
// System.out.println(words2List.size());
// System.out.println("...............");
for (String word: words1) {
System.out.println(word);
if (words2List.size()>1) words2List.remove(words2List.size()-1);
if (words2List.contains(word)){
result.add(new Pair(word, new StringBuilder(word).reverse().toString()));
while (words2List.contains(word)) words2List.remove(word);
}
// System.out.println(Arrays.toString(words1));
// System.out.println(words2List);
}
} catch (IOException e) {
e.printStackTrace();
}
result.forEach(System.out::println);
}
public static class Pair {
String first;
String second;
public Pair (){
}
public Pair (String first, String second){
this.first = first;
this.second = second;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Pair pair = (Pair) o;
if (first != null ? !first.equals(pair.first) : pair.first != null) return false;
return second != null ? second.equals(pair.second) : pair.second == null;
}
@Override
public int hashCode() {
int result = first != null ? first.hashCode() : 0;
result = 31 * result + (second != null ? second.hashCode() : 0);
return result;
}
@Override
public String toString() {
return first == null && second == null ? "" :
first == null ? second :
second == null ? first :
first.compareTo(second) < 0 ? first + " " + second : second + " " + first;
}
}
}