Этот код работает. Подскажите, пожалуйста, как можно было бы сделать его лучше, например, с точки зрения читабельности и т. д.
import java.io.*;
/*
Округление чисел
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
String fileName1 = consoleReader.readLine();
String fileName2 = consoleReader.readLine();
BufferedReader fileReader = new BufferedReader(new FileReader(fileName1));
FileWriter writer = new FileWriter(fileName2);
while (fileReader.ready()) {
String s = fileReader.readLine();
String[] array = s.split(" ");
for (String number : array) {
double d = Double.parseDouble(number);
int l = (int) Math.round(d);
String str = Integer.toString(l);
writer.write(str);
writer.write(" ");
}
}
consoleReader.close();
fileReader.close();
writer.close();
}
}
Sasha
46 уровень
Нужен кто-то опытный...
Решен
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
20 июля 2021, 20:07решение
две лишних пустых строки
После закрывающих фигурных скобок, пустые строки не ставятся.
Что удобней читать:
Или
Что легче воспринимается?
wild card в импорте (.*) не принято ставить.
С одной стороны, ты подтягиваешь, все что нужно и не нужно, но самое главное, в больших программах могут быть классы с одинаковыми именами, и может быть путаница, с какого класса и что ты использовал.
Если импорты не "схлопнуты" в вайлдкард, можно быстро увидеть что к чему.
В Идее можно настроить, чтобы при CTRL+ALT+O оно не схлопывало в вайлдкарды само, поставив там 999 в соответствующем поле (количество импортов с одного пакета, при котором применяется форматирование)
Найди третье лишнее.
А так в целом, очень прилично.
+2
Sasha Middle Java Developer в EPAM
20 июля 2021, 21:53
Ого, спасибо за такой подробный анализ) о строках и вайлд карде себе записал😊
+1
НикитаExpert
20 июля 2021, 18:58
по моему все достаточно лаконично.
вот мое решение, почти также, чуть поменьше
0
Sasha Middle Java Developer в EPAM
20 июля 2021, 19:56
Я правильно понял, ты закрыл сканнер - он стал null, и ты смог присвоить новый объект?
0
НикитаExpert
20 июля 2021, 19:59
я поток закрываю, на счет null не уверен)
0
Sasha Middle Java Developer в EPAM
20 июля 2021, 20:01
Ты закрыл и сразу же можно открыть новый в эту переменную?
0
НикитаExpert
20 июля 2021, 20:02решение
да, закрываю поток, потом этой переменной присваиваю другое значение и работаю с ней
+2
Sasha Middle Java Developer в EPAM
20 июля 2021, 20:03
Понял, спасибо, не знал, что можно так. Также очень изящное решение)
0