Подскажите что не так? Тестирую вроде все правильно работает...
package com.javarush.task.task19.task1916;
//import com.sun.deploy.net.MessageHeader;
//import com.sun.org.apache.xerces.internal.impl.xpath.regex.Match;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
/*
Отслеживаем изменения
*/
public class Solution {
public static List<LineItem> lines = new ArrayList<LineItem>();
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileOne = reader.readLine();
String fileTwo = reader.readLine();
//String fileOne = "H:\\IDEA\\JavaRushTasks\\JavaRushTasks\\2.JavaCore\\src\\com\\javarush\\task\\task19\\task1916\\fileOne";
//String fileTwo = "H:\\IDEA\\JavaRushTasks\\JavaRushTasks\\2.JavaCore\\src\\com\\javarush\\task\\task19\\task1916\\fileTwo";
reader.close();
ArrayList<String> arrayFileOne = new ArrayList<String>();
ArrayList<String> arrayFileTwo = new ArrayList<String>();
arrayFileOne = ReaderFile(fileOne);
arrayFileTwo = ReaderFile(fileTwo);
int max = Math.max(arrayFileOne.size(),arrayFileTwo.size());
for (int i = 0; i < max + 1; i++) {
try {
if (arrayFileOne.get(0).equals(arrayFileTwo.get(0))) {
LineItem lineItem = new LineItem(Type.SAME, arrayFileOne.get(0));
lines.add(lineItem);
arrayFileOne.remove(0);
arrayFileTwo.remove(0);
} else if (arrayFileOne.get(1).equals(arrayFileTwo.get(0))) {
LineItem lineItem = new LineItem(Type.REMOVED, arrayFileOne.get(0));
lines.add(lineItem);
arrayFileOne.remove(0);
} else if (arrayFileOne.get(0).equals(arrayFileTwo.get(1))) {
LineItem lineItem = new LineItem(Type.ADDED, arrayFileTwo.get(0));
lines.add(lineItem);
arrayFileTwo.remove(0);
}
} catch (IndexOutOfBoundsException e) {
}
}
try {
if (arrayFileOne.size() != 0 || arrayFileTwo.size() == 0) {
LineItem lineItem = new LineItem(Type.REMOVED, arrayFileOne.get(0));
lines.add(lineItem);
arrayFileOne.remove(0);
} else if (arrayFileTwo.size() != 0 || arrayFileOne.size() == 0) {
LineItem lineItem = new LineItem(Type.ADDED, arrayFileTwo.get(0));
lines.add(lineItem);
arrayFileTwo.remove(0);
}
} catch (IndexOutOfBoundsException e) {
}
for (int i = 0; i < lines.size(); i++) {
System.out.println(lines.get(i).type + " " + lines.get(i).line);
}
}
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;
}
}
// метод записуй файл в масив строками
public static ArrayList<String> ReaderFile (String name) throws IOException {
ArrayList<String> arrayList = new ArrayList<String>();
BufferedReader readerFileOne = new BufferedReader(new FileReader(name));
while (readerFileOne.ready()) {
arrayList.add(readerFileOne.readLine());
}
readerFileOne.close();
return arrayList;
}
}