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 {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String nameOriginalFile = null;
String nameEditedFile = null;
nameOriginalFile = br.readLine();
nameEditedFile = br.readLine();
br.close();
int count = 0;
ArrayList<String> arrOriginalLine = new ArrayList<String>();
ArrayList<String> arrEditedLine = new ArrayList<String>();
BufferedReader originalFile = new BufferedReader(new FileReader(nameOriginalFile));//C:/data1.txt
BufferedReader editedFile = new BufferedReader(new FileReader(nameEditedFile));//C:/data2.txt
while(originalFile.ready()) {
arrOriginalLine.add(originalFile.readLine());
}
while(editedFile.ready()) {
arrEditedLine.add(editedFile.readLine());
}
originalFile.close();
editedFile.close();
while (arrOriginalLine.size() > arrEditedLine.size()) {
arrEditedLine.add("");
System.out.println("addInEdited");
}
while (arrOriginalLine.size() < arrEditedLine.size()) {
arrOriginalLine.add("");
System.out.println("addInOriginal");
}
for(String s : arrOriginalLine) {
if(!s.equals("")) {
if(arrEditedLine.get(count).equals(s)) {
lines.add(new LineItem(Type.SAME,s));
System.out.println(Type.SAME+s);
}
if(arrEditedLine.get(count).equals("")) {
lines.add(new LineItem(Type.REMOVED,s));
System.out.println(Type.REMOVED+s);
}
}
if(s.equals("")) {
lines.add(new LineItem(Type.ADDED,arrEditedLine.get(count)));
System.out.println(Type.ADDED+arrEditedLine.get(count));
}
count++;
}
}
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;
}
}
}Egor Tehnik
26 уровень
Что я делаю не так??? Всё работает валидацию не проходит.
Решен
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
JustinianJudge в Mega City OneMaster
21 октября 2019, 16:00полезный
Не вижу чтобы работало.
Пример:
file1: file2: ожидаемый результат:(lines) твой вывод:
строка1 строка1 SAME строка1 SAME строка1
строка2 REMOVED строка2 REMOVED строка5
строка3 строка3 SAME строка3
строка4 REMOVED строка4
строка5 строка5 SAME строка5
строка0 ADDED строка0
+1
Egor Tehnik
21 октября 2019, 16:39
у меня в консоль через - System.out.println(Type.REMOVED+s); выводит всё чётко.
Как мне ещё проверять? Может я не правильно условие понимаю?
0
JustinianJudge в Mega City OneMaster
21 октября 2019, 16:41
дай скрин где у тебя все четко
0
JustinianJudge в Mega City OneMaster
21 октября 2019, 16:45
И покажи на каких файлах, ты же понимаешь что в файлах пустых строк нет (в условиях про это четко сказано)?
Первый файл:
Второй файл:
0
Egor Tehnik
21 октября 2019, 16:58
да, тупил с отсутствием пустых строк, без них не правильно работает (
0