Округление чисел

  • 20
  • Недоступна
Считать с консоли 2 имени файла. Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415. Округлить числа до целых и записать через пробел во второй файл. Закрыть потоки. Принцип округления: 3.49 => 3 3.50 => 4 3.51 => 4 -3.49 => -3 -3.50 => -3 -3.51 => -4
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (386)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #3282119
Уровень 25
24 мая, 08:40
Уже в который раз IDEA ругается при парсинге. В чем может быть причина? Валидатор спокойно принимает код.
NexLoder
Уровень 20
Expert
15 апреля, 08:05
Ребят, в примере показано так, что в одной строке - одно число. Но надо учитывать, что в одной строке может быть 2 и более числа.
Василий
Уровень 24
вчера, 21:31
"Первый файл содержит вещественные(дробные) числа, разделенные пробелом."
Виктор
Уровень 29
10 апреля, 10:31
Сделал через регулярки и matcher.group(). И у меня вопрос, как составляли задание в JavaRush если валидатор пишет вот это.
Василий
Уровень 24
вчера, 21:33
Вещественные числа - числа, которые обладают дробной частью. Они могут быть как положительными, так и отрицательными. Дробная часть также может быть нулевой, тогда число называют целым (множество целых числе является подмножеством множества вещественных чисел, т.е. целое число это просто частный случай вещественного)
LukasKeyn
Уровень 37
30 марта, 13:18
два раза умудрился неправильно понять условие. Сначала думал, что первой строкой вводим цифру, а потом записываем в файл-строку2. Затем оказалось, что надо думать, что строк в файле несколько... PrintWriter не знал, Math.round забыл - короче было тяжело, но не безнадежно...
Eldar K.
Уровень 39
Expert
22 марта, 05:41
Из нового узнал про округление отрицательного числа через String.format. Для теста 2 строчки: округляют по-разному: System.out.printf("%.0f ",Double.parseDouble(i)); System.out.println(Math.round(Double.parseDouble(i)))
Anonymous #3179849
Уровень 35
27 февраля, 11:39
Первый раз валидатор принял почти с первого раза в этом бесконечном цикле задач.
SVCH
Уровень 41
7 января, 10:48
Не забываем стримы:
String result = Arrays.stream(fileReader.readLine().split(" "))
                        .map(Float::parseFloat)
                        .map(Math::round)
                        .map(i -> i.toString())
                        .collect(Collectors.joining(" "));
17 марта, 17:50
Или одним чохом, правда все в одну строку запишется
fi.lines()
.map(x-> x.split(" "))
.flatMap(Stream :: of)
.map(Double::parseDouble)
.map(x -> String.format("%d", Math.round(x)))
.collect(Collectors.joining(" "))
.getBytes(StandardCharsets.UTF_8)
Tomhetted
Уровень 39
19 декабря 2022, 13:47
Сначала испугался что придется курить регулярки, в которых я не шарю, но в итоге решил как и авторы через сплит строки
Andrei Sharapov Backend Developer
11 декабря 2022, 04:35
Данный принцип округления не принимает валидатор:
String.format("%.3f",value);
Пришлось делать так:
Math.round(Double.valueOf(value))
Berk
Уровень 32
3 января, 13:48
спасибо! я так и не понял в чем подвох, ведь округление по правилам происходит
Artur Kupchenko
Уровень 28
6 декабря 2022, 06:21
Уже надоел валидатор. Все правильно программа делает но не принимает и всё.