Привет,
Задачу решил, сложнее чем можно было бы, но пытаюсь практиковать использование стримов и лямбд повсюду, где только можно.
Может кто то посмотреть мой код и подсказать можно ли было написать большее оптимально и читаемо в строках 28-30? Если да, то как?
package com.javarush.task.task18.task1820;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
Округление чисел
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
String file1 = consoleReader.readLine();
String file2 = consoleReader.readLine();
List<String> buffer = new ArrayList<>();
List<Long> results = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(file1));
BufferedWriter bw = new BufferedWriter(new FileWriter(file2))) {
while (br.ready()) {
buffer.add(br.readLine());
}
buffer.stream().forEach(s -> Arrays.stream(s.split(" "))
.toList()
.forEach(i -> results.add(Math.round(Double.parseDouble(i)))));
int counter4spaces = 0;
for (Long l : results) {
bw.write(l.toString());
counter4spaces++;
if (counter4spaces < results.size()) {
bw.write(" ");
}
}
} catch (Exception e) {
}
consoleReader.close();
}
}