what i did wrong?
or
i didnt understand what the program neeeds.
package com.codegym.task.task19.task1916;
import java.util.ArrayList;
import java.util.List;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Tracking changes
*/
public class Solution {
public static List<LineItem> lines = new ArrayList<>();
public static void main(String[] args)throws IOException {
BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
String f1 = b.readLine();
String f2= b.readLine();
b.close();
BufferedReader f = new BufferedReader(new FileReader(f1));
BufferedReader ff = new BufferedReader(new FileReader(f2));
ArrayList<String> o = new ArrayList<>();
ArrayList<String> u = new ArrayList<>();
while(f.ready()){
o.add(f.readLine());
}
f.close();
while(ff.ready()){
u.add(ff.readLine());
}
ff.close();
for(int i=0,j=0;i<o.size()&&j<u.size();i++,j++){
if(o.get(i).equals(u.get(j))){
lines.add(new LineItem(Type.SAME,u.get(j)));
}
else if(o.get(i).equals(u.get(j+1))) {
lines.add(new LineItem(Type.ADDED,u.get(j)));
lines.add(new LineItem(Type.SAME,u.get(j+1)));
}
else if(u.get(j).equals(o.get(i+1))){
lines.add(new LineItem(Type.REMOVED,o.get(i)));
lines.add(new LineItem(Type.SAME,o.get(i+1)));
}
}
}
public static enum Type {
ADDED, // New line added
REMOVED, // Line deleted
SAME // No change
}
public static class LineItem {
public Type type;
public String line;
public LineItem(Type type, String line) {
this.type = type;
this.line = line;
}
}
}