Интересно, все же её решали через Math.round.
package com.javarush.task.task18.task1820;
import java.io.*;
import java.text.DecimalFormat;
import java.util.*;
/*
Округление чисел
*/
public class Solution {
public static void main(String[] args) throws IOException,FileNotFoundException {
BufferedReader readr = new BufferedReader(new InputStreamReader(System.in));
String ffileName = readr.readLine();
String sfileName = readr.readLine();
readr.close();
FileReader fileRead = new FileReader (ffileName);
BufferedReader reader = new BufferedReader (fileRead);
FileWriter writter = new FileWriter(sfileName);
BufferedWriter buffwritter = new BufferedWriter(writter);
ArrayList<String> list = new ArrayList<>();
ArrayList<String> numbs = new ArrayList<>();
String line = null;
while ((line = reader.readLine()) != null) {
list.add(line);
}
fileRead.close();
// list.add("3.49 3.50 3.51 -3.49 -3.1 2 2.2 3");
for (int i = 0; i < list.size(); i++) {
for (String retval : list.get(i).split(" ")) {
numbs.add(retval);
}
}
for (int i = 0; i < numbs.size(); i++) {
int flag = 0;
double x = 0.0;
int y = 0;
char[] n = numbs.get(i).toCharArray();
for (int j = 0; j < n.length; j++) {
if (n[j] == '.') flag = 1;
}
if (flag == 1) {
x = Math.round(Double.parseDouble(numbs.get(i)));
buffwritter.write(String.valueOf(x) + " ");
//System.out.print(String.valueOf(x) + " ");
} else {
y = Integer.parseInt(numbs.get(i));
buffwritter.write(String.valueOf(y) + " ");
//System.out.print(String.valueOf(y) + " ");
}
flag = 0;
}
writter.close();
buffwritter.close();
}
}