public class Solution {
public static List<LineItem> lines = new ArrayList<LineItem>();
public static void main(String[] args) throws IOException {
int index = 0;
int indexList1 = 0;
int indexList2 = 0;
List<String> listFile1 = new ArrayList<>();
List<String> listFile2 = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader.readLine();
String file2 = reader.readLine();
reader.close();
try (BufferedReader fileReader1 = new BufferedReader(new FileReader(file1));
BufferedReader fileReader2 = new BufferedReader(new FileReader(file2))) {
// заполним листы строками из файла
while (fileReader1.ready()) {
listFile1.add(fileReader1.readLine());
}
while (fileReader2.ready()) {
listFile2.add(fileReader2.readLine());
}
for (int i = 0, j = 0; i < listFile1.size() && j < listFile2.size(); i++, j++ ) {
indexList1 = Integer.parseInt(listFile1.get(i).substring(listFile1.get(i).length() - 1, listFile1.get(i).length()));
indexList2 = Integer.parseInt(listFile2.get(j).substring(listFile2.get(j).length() - 1, listFile2.get(j).length()));
if (indexList1 == indexList2) {
lines.add(new LineItem(Type.SAME, listFile1.get(i)));
} else if (indexList1 < indexList2) {
lines.add(new LineItem(Type.REMOVED, listFile1.get(i)));
j--;
} else if (indexList1 > indexList2) {
lines.add(new LineItem(Type.ADDED, listFile2.get(j)));
i--;
}
}
for (LineItem item : lines) {
System.out.println(item.type + " " + item.line);
}
}
}
package com.javarush.task.task19.task1916;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
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) throws IOException {
int index = 0;
int indexList1 = 0;
int indexList2 = 0;
List<String> listFile1 = new ArrayList<>();
List<String> listFile2 = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader.readLine();
String file2 = reader.readLine();
reader.close();
try (BufferedReader fileReader1 = new BufferedReader(new FileReader(file1));
BufferedReader fileReader2 = new BufferedReader(new FileReader(file2))) {
// заполним листы строками из файла
while (fileReader1.ready()) {
listFile1.add(fileReader1.readLine());
}
while (fileReader2.ready()) {
listFile2.add(fileReader2.readLine());
}
if (listFile1.size() <= listFile2.size()) {
index = listFile2.size();
} else {
index = listFile1.size();
}
for (int i = 0, j = 0; i < listFile1.size() && j < listFile2.size(); ) {
indexList1 = Integer.parseInt(listFile1.get(i).substring(listFile1.get(i).length() - 1, listFile1.get(i).length()));
indexList2 = Integer.parseInt(listFile2.get(j).substring(listFile2.get(j).length() - 1, listFile2.get(j).length()));
if (indexList1 == indexList2) {
lines.add(new LineItem(Type.SAME, listFile1.get(i)));
i++;
j++;
} else if (indexList1 < indexList2) {
lines.add(new LineItem(Type.REMOVED, listFile1.get(i)));
i++;
} else if (indexList1 > indexList2) {
lines.add(new LineItem(Type.ADDED, listFile2.get(j)));
j++;
}
}
}
}
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;
}
}
}