Здравствуйте! Не проходит проверку. Оба примера отрабатывают правильно. Проверял в отладке список. Всё соответствует.
package com.javarush.task.task19.task1916;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Отслеживаем изменения
*/
public class Solution {
public static List<LineItem> lines = new ArrayList<LineItem>();
public static void main(String[] args) {
try(BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
BufferedReader file1 = new BufferedReader(new FileReader(console.readLine()));
BufferedReader file2 = new BufferedReader(new FileReader(console.readLine()))){
String temp1 = null;
String temp2 = null;
while(file1.ready()){
String line1 = (temp1 == null)?file1.readLine():temp1;
if(file2.ready()){
String line2 = (temp2 == null)?file2.readLine():temp2;
if(line1.compareToIgnoreCase(line2) < 0){
lines.add(new LineItem(Type.REMOVED, line1));
temp2 = line2;temp1 = null;
}
else if(line1.compareToIgnoreCase(line2) > 0){
lines.add(new LineItem(Type.ADDED, line2));
temp1 = line1;temp2 = null;
}
else{
lines.add(new LineItem(Type.SAME, line1));
temp1 = null;temp2 = null;
}
}
else{
lines.add(new LineItem(Type.REMOVED, line1));
}
}
if(file2.ready()){
lines.add(new LineItem(Type.ADDED, file2.readLine()));
}
}catch(IOException e){
System.out.printf("%s\n",e.getStackTrace());
}
}
public static enum Type {
ADDED, //добавлена новая строка
REMOVED, //удалена строка
SAME //без изменений
}
public static class LineItem {
public Type type;
public String line;
public LineItem(Type type, String line) {
this.type = type;
this.line = line;
}
}
}