Подскажите, пожалуйста, почему моё решение не является верным?
Код:
package com.javarush.task.task17.task1721;
package com.javarush.task.task17.task1721;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
/*
Транзакционность
*/
public class Solution {
public static List<String> allLines = new ArrayList<String>();
public static List<String> forRemoveLines = new ArrayList<String>();
public static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws InterruptedException {
forFirst for1 = new forFirst();
for1.start();
for1.join();
forSecond for2 = new forSecond();
for2.start();
for2.join();
Solution solution = new Solution();
try {
solution.joinData();
} catch (CorruptedDataException e) {
e.printStackTrace();
}
for (int i = 0; i < allLines.size(); i++) {
System.out.println(allLines.get(i));
}
}
public static class forFirst extends Thread {
@Override
public void run() {
try {
String firstName = bf.readLine();
Scanner scannerFirst = new Scanner(new File(firstName));
while (scannerFirst.hasNextLine()) {
allLines.add(scannerFirst.nextLine());
}
print();
} catch (IOException e) {
e.printStackTrace();
}
}
public void print() {
for (int i = 0; i < allLines.size(); i++) {
System.out.println(allLines.get(i));
}
}
}
public static class forSecond extends Thread {
@Override
public void run() {
try {
String secondName = bf.readLine();
Scanner scannerSecond = new Scanner(new File(secondName));
while (scannerSecond.hasNextLine()) {
forRemoveLines.add(scannerSecond.nextLine());
}
print();
} catch (IOException e) {
e.printStackTrace();
}
}
public void print() {
for (int i = 0; i < forRemoveLines.size(); i++) {
System.out.println(forRemoveLines.get(i));
}
}
}
public void joinData() throws CorruptedDataException {
boolean ok = false;
for (int i = 0; i < allLines.size(); i++) {
for (int j = 0; j < forRemoveLines.size(); j++) {
if (allLines.get(i).equals(forRemoveLines.get(j))) {
allLines.remove(forRemoveLines.get(j));
ok = true;
}
}
}
if (!ok) {
allLines.clear();
throw new CorruptedDataException();
}
}
}я первый
файл