Я сошел с ума, уже удаляю последний пробел. все тестил у себя, файл записывает красиво и правильно.
на примере в файле:
3.49 3.50 3.51 -3.49 -3.50 -3.51 0 -0.5
во второй файл он пишет:
3 4 4 -3 -3 -4 0 0
Все вроде верно, почему ругается?
package com.javarush.task.task18.task1820;
import java.io.*;
/*
Округление чисел
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
FileInputStream input = new FileInputStream(r.readLine());
FileOutputStream output = new FileOutputStream(r.readLine());
r.close();
String number = "",all = "";
while (input.available()>0){
int symbol = input.read();
if (symbol == (byte)' '||input.available()==0){
float f = Float.parseFloat(number);
int n;
if (f>0){
n = Math.round(f);
all = all + n + " ";
} else {
if ((float)Math.round(f)+0.5==f){
n = Math.round(f)+1;
} else{
n = Math.round(f);
}
all = all + n + " ";
}
number = "";
} else {
number = number + (char) symbol;
}
}
all = all.substring(0, all.length()-1);
output.write(all.getBytes());
input.close();
output.close();
}
}