Не могу понять,что не подходит валидатору.
Что ли точность не достаточная или только через math ему подойдёт?
package com.javarush.task.task18.task1820;
import java.io.*;
/*
Округление чисел
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader filename = new BufferedReader(new InputStreamReader(System.in));
String filename1 = filename.readLine(); // путь к файлу 1
String filename2 = filename.readLine(); // путь к файлу 2
BufferedReader filein1 = new BufferedReader(new InputStreamReader(new FileInputStream(filename1))); // поток на считывание строки
BufferedWriter fileout2 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename2))); // поток на запись
int chis = 0;
int count=0;// счётчик первой цифры
while (filein1.ready()) { // пока файл не закончиться
String str = filein1.readLine(); // считываем строку
String[] numbers = str.split(" "); // разделяем на элементы по правилу пробела
for (int i = 0; i < numbers.length; i++) { // достаём каждое отдельное число в виде String
double digit = Double.parseDouble(numbers[i]); // парсируем в double
if (digit > 0) { // делаем проверку на положительное число
double digitiz= (int) digit; // получаем целую часть числа
double ostatok = digit - digitiz;// получаем остаток
if (ostatok < 0.5) { // сравниваем остаток по правилу округления
chis = (int) digit; // производим округления до целых с отбросом остатка
} else {
chis = (int) digit + 1;// производим округления до целых с отбросом остатка с увелечением на 1
}
}
if (digit < 0) { // проверяем на отрицательное число
double digitiz= (int) digit; // получаем целую часть
double ostatok = digitiz - digit; // получаем остаток
if (ostatok <= 0.5) { // проверяем остаток по правилу
chis = (int) digit;// округляем до целых с отброском остатка
} else {
chis = (int) digit - 1;// округляем до целых с отброском остатка с увеличением на 1
}
}
if(count==0) {// проверяем счётчик е сли 0, то записываем первое число без пробела
fileout2.write(""+chis);// перевод числа в String и запись его в файл 2
count++;//увеличение счетчика
}
else {
fileout2.write(" "+chis);// последующая запись с пробелом
}
}
}
filein1.close(); // закрытие потока 1
fileout2.close();// закрытие потока 2
}
}