Помогите монять что не так? если ввести числа из задания то результат 3.49 3.50 3.51 -3.49 -3.50 -3.51 --> 3 4 4 -3 -3 -4
package com.javarush.task.task18.task1820;
import java.io.*;
/*
Округление чисел
Считать с консоли 2 имени файла.
Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415.
Округлить числа до целых и записать через пробел во второй файл.
Закрыть потоки.
Принцип округления:
3.49 => 3
3.50 => 4
3.51 => 4
-3.49 => -3
-3.50 => -3
-3.51 => -4
Требования:
1. Программа должна два раза считать имена файлов с консоли.
2. Для первого файла создай поток для чтения. Для второго - поток для записи.
3. Считать числа из первого файла, округлить их и записать через пробел во второй.
4. Должны соблюдаться принципы округления, указанные в задании.
5. Созданные для файлов потоки должны быть закрыты.
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName1 = bufferedReader.readLine();
String fileName2 = bufferedReader.readLine();
InputStream inputStreamFirstFile = new FileInputStream(fileName1);
FileOutputStream fileOutputStream = new FileOutputStream(fileName2);
StringBuilder stringBuilder = new StringBuilder();
String space = " ";
while (inputStreamFirstFile.available()>0) {
int dataByte = inputStreamFirstFile.read();
if (dataByte != 32 && inputStreamFirstFile.available()>0) {
stringBuilder.append( (char) dataByte);
} else {
long roundedDecimal = Math.round(Double.parseDouble(stringBuilder.toString()));
fileOutputStream.write(String.valueOf(roundedDecimal).getBytes());
fileOutputStream.write(space.getBytes());
stringBuilder.delete(0,stringBuilder.length());
}
}
bufferedReader.close();
inputStreamFirstFile.close();
fileOutputStream.close();
}
}