Output is correct no matter the input numbers in file1.txt, but the task fails every condition!
package com.codegym.task.task18.task1820;
/*
Rounding numbers
*/
import java.io.*;
import java.math.BigDecimal;
import java.math.MathContext;
import java.util.ArrayList;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws Exception {
//Lee los filenames
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
File file1 = new File(reader.readLine());
File file2 = new File(reader.readLine());
reader.close();
// lee file1 como BigDecimals
Scanner file1sc = new Scanner(file1);
ArrayList<BigDecimal> numbers = new ArrayList<>();
while (file1sc.hasNext()) {
double d = Double.parseDouble(file1sc.next());
numbers.add(BigDecimal.valueOf(d));
}
file1sc.close();
//escribe en file2 los valores de numbers redondeados
MathContext m = new MathContext(1);
FileWriter file2wr = new FileWriter(file2);
for (BigDecimal n : numbers) {
file2wr.write((n.round(m).intValueExact() + " "));
}
file2wr.close();
}
}