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

  • 10
  • Недоступна
Считать с консоли 2 имени файла. Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415. Округлить числа до целых и записать через пробел во второй файл. Закрыть потоки. Принцип округления: 3.49 => 3 3.50 => 4 3.51 => 4 -3.49 => -3 -3.50 => -3 -3.51 => -4
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (125)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
MrKermit19 уровень, Москва
четверг, 11:15
Сделал сначала красиво, с паттерном и bigdecimal, задачу решил. А потом что бы пройти валидатор написал еще несколько решений, с 7 попытки решил. Злости не хватает.
NewBuy19 уровень, Санкт-Петербург
7 апреля, 15:03
Почему -3.50 должно округлятся до 3??? Чет у меня бомбалейло...
Harry20 уровень, Москва
4 апреля, 21:11
Господа, пробовал решать через DecimalFormat. Не принимает валидатор. Возможно ошибся, но вывод в файл верен. Изврат не получился, не мучайтесь, решайте через Math.round =)
Александр20 уровень, Минск
1 апреля, 22:55
перебрал несколько вариантов решения, написал кучу кода, причем несколько раз, все варианты рабочие, но валидатор капризничал. В итоге пришлось читать ветку
Артур19 уровень
31 марта, 12:55
Очень интересно. Решил задачу, а данные во второй файл не записались.
S20 уровень, Минск
24 марта, 20:14
Через распространенный способ - тримы и сплиты не очень универсальный вариант. Работает - если четко расставлены пробелы + проблема с пробелами вначале\конце. А если еще кто-то поставит лишний пробел, то сразу программа будет некорректно работать и становится бесполезной. Мне понравилось решение слови пробелов в ArrayList - тогда решаются вопросы с пробелами, универсальностью кода - можно и потом использовать, расширяя функционал.
Евгений20 уровень, Днепр
12 марта, 20:44
Со сканером — элементарно. Главное, не забыть
scanner.useLocale(Locale.ENGLISH);
Вячеслав20 уровень, Санкт-Петербург
12 марта, 07:02
Пробовал через PrintStream и метод print - валидатор не принял, хотя отрабатывало всё правильно. Противоречий требованиям не было, но начиная со 2-го пункта - всё красное. Оставил всё так же, только заменил поток на BufferWriter и метод write - принял. Ну пипец...
Eugene22 уровень
20 марта, 20:55
Столкнулся с тем же самым.
S20 уровень, Минск
23 марта, 16:39
Делайте так:
PrintStream out = new PrintStream(new FileOutputStream(bf.readLine()));
Alexey Tarakanov22 уровень, Москва
11 марта, 21:34
Сделал всё через циклы и ifы. Свои хэндмейд сплиты с блекджеком и кап.Бобровым. Постоянно забываю закрывать потоки, поэтому со 2 попытки :(
REM23 уровень, Москва
23 февраля, 22:03
:( я видимо один такой, недогадался что Math.round округляет как надо. Пришлось использовать RoundingMode.HALF_UP и BigDecimal.ROUND_HALF_DOWN.
Иван19 уровень, Москва
15 марта, 18:18
Не один (