• ,

level18.lesson10.home05

/* Округление чисел
Считать с консоли 2 имени файла
Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415
Округлить числа до целых и записать через пробел во второй файл
Закрыть потоки. Не использовать try-with-resources
Принцип округления:
3.49 - 3
3.50 - 4
3.51 - 4
-3.49 - -3
-3.50 - -3
-3.51 - -4
*/

import java.io.*;

public class Solution {
    public static void main(String[] args) throws IOException, NumberFormatException{

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        String is1 = reader.readLine();
        String is2 = reader.readLine();



        BufferedReader reader1 = new BufferedReader(new FileReader(is1));

        FileWriter is = new FileWriter(is2);

        String[] result;


        result = reader1.readLine().split(" ");



        String x = "";

        
        for (int i = 0; i < result.length;i++ )
        {
            x += Math.round(Double.parseDouble(result[i])) + " ";
        }
        is.write(x.trim());


        reader1.close();
        is.close();

    }

}


Валидатор не принимает. Результат вроде выводит правильный, переписал без пробела в конце. Помогите пожалуйста, что не так в решении?

3 комментария

zzzz
  • zzzz
  • +1
BufferedReader reader1 = new BufferedReader(new FileReader(is1));
FileWriter is = new FileWriter(is2);

Вот в этих строках вас ничего не смущает? (поймите отличия).

Ну и у вас не все потоки закрыты.
odium
Спасибо! закрыл reader, прошло. Про FileReader и FileWriter не понял что с ними не так, вы имеете ввиду что не надо было использовать буферизированный поток? Если можно, разъясните.
zzzz
Наоборот, по хорошему, если вы читаете в буфер, то и писать было бы правильней из буфера.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.