У меня есть два файла данных data1.txt и data2.txt. data1.txt состоит из 3 столбцов и 10 строк, а data2.txt состоит из 4 столбцов и 4 строк.
Структура data1.txt:
1.0 1.235 2.3145
2.0 0.325 3.2145
3.0 1.568 4.0215
4.0 0.389 1.2354
7.0 2.054 1.3247
8.0 1.111 2.6570
10.0 1.786 1.2587
11.0 5.628 0.2354
13.0 4.897 1.6542
15.0 1.230 1.0210
Структура data2.txt:
5.0 .... .... ....
6.0 .... .... ....
9.0 .... .... ....
12.0 .... .... ....
Таким образом, в соответствии с набором данных 5.0,6.0 отсутствует в data1.txt, который находится в data2.txt. 9.0 отсутствует в data1.txt, который присутствует в data2.txt и так далее. Я хочу вставить эти отсутствующие значения в data1.txt. Таким образом, выходной файл данных после вставки будет
Data1.txt
1.0 1.235 2.3145
2.0 0.325 3.2145
3.0 1.568 4.0215
4.0 0.389 1.2354
5.0 .... .... ....
6.0 .... .... ....
7.0 2.054 1.3247
8.0 1.111 2.6570
9.0 .... .... ....
10.0 1.786 1.2587
11.0 5.628 0.2354
and so on
Мой код такой
public class F1 {
public static void main(String args[])throws Exception{
Scanner X =new Scanner(new File("C:\\data1.txt"));
Scanner Y =new Scanner(new File("C:\\data2.txt"));
double a=0.0,b=0.0,c,d=0.0,e=0.0,f,g,h;
List<Double>list1=new ArrayList<>();
List<Double>list4=new ArrayList<>();
double arr[]=new double[10];
double arr1[]=new double[5];
while (X.hasNext()) {
a = X.nextDouble();
list1.add(a);
b = X.nextDouble();
c = X.nextDouble();
}
while(Y.hasNext()) {
d = Y.nextDouble();
list4.add(d);
e = Y.nextDouble();
f = Y.nextDouble();
g = Y.nextDouble();
}
for(int i=0;i<list1.size();i++) {
arr[i]=list1.get(i);//Store value into an array
}
for(int j=0;j<list4.size();j++){
arr1[j]=list4.get(j);//Store value into an array
}
for(int k=0;k<arr.length;k++){
// Appending condition
}
}
}
Как я мог продолжить? Нужна ли какая-либо вставка или оператор if для добавления? Как работал Printwriter здесь?