Big Ben clock

  • 9
  • Недоступна
"В Лондоне полночь", — говорит дядюшка Бэн. Заставьте его говорить программно. Разберись, что делает программа и реализуйте логику метода printTime так, чтобы каждую секунду выдавалось время начиная с установленного в конструкторе.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (206)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Lyokha Blagodatskikh
Уровень 24, Ural, Russian Federation
20 июня, 10:19
Правильное решение ужасное, я делал через LocalTime LocalTime time = LocalTime.of(hours, minutes, seconds); time = time.plusSeconds(1); не знаю как там с оптимизацией, но мне мой код кажется более понятным и правильным )
Oss Osip
Уровень 27, minsk, Belarus
12 июня, 09:49
Задача, легкая, но на первый взгляд имелись сложности в понимание формирование кода. делал вывод по услвоию, но валидацию не проходило, имея оплошность через else if решать, а так решаем через if без else, на каждый инкремент секунд перед операторами ставим Thread.sleep(1000) Даем секундам работать как секунду))
The Body of the Atr
Уровень 51
11 января, 08:39
Всего эту задачу решили 30917 учеников.
Рылов Кирилл
Уровень 46
27 ноября 2021, 15:45
/* Комментарий удален */
Gaius Plinius
Уровень 28, Россия
30 ноября 2021, 11:01
Всё верно, что вас смущает?
Рылов Кирилл
Уровень 46
30 ноября 2021, 13:07
не может быть больше 59, но 60 > 59
Gaius Plinius
Уровень 28, Россия
30 ноября 2021, 19:31
Ну дак все верно. Мы инкрементировали секунды и получили 60, но по условию задачи 60 секунд не может быть, поэтому мы сбрасываем секунды на 0
Рылов Кирилл
Уровень 46
1 декабря 2021, 07:42
"Мы инкрементировали секунды и получили 60". В задаче сказано "Секунд/Минут, после инкремента времени, не может быть больше 59".
Gaius Plinius
Уровень 28, Россия
1 декабря 2021, 08:31
Ну да, не понимаю что вызывает у вас вопросы. Мы инкрементировали секунды и получили 60 секунд, но 60 секунд не может быть, это ошибка, поэтому мы сбрасываем секунды до нуля и инкрементируем минуты.
MaDMark
Уровень 32, Новосибирск, Russian Federation
13 марта, 07:54
так чтоб 60 получить нужно инкриминировать, что априори ошибкой является ибо по условия 60 не может быть в любых случаях
SWK
Уровень 16
14 марта, 07:19
То, что 60 попало в переменную и то, что вывелось число 60 - две большие разницы. В переменных может быть всё, что угодно, а вот выводиться время с числом 60 не должно. Прибавили стандартным способом, увидели, что стало 60 - предприняли соответствующие действия, в результате которых вывелось 0, а следующий разряд увеличился.
Pavel S.
Уровень 36, Оренбург, Russian Federation
26 ноября 2021, 12:08
Решил через класс LocalTime, показалось, что так будет правильнее, чем ифами.
SWK
Уровень 16
14 марта, 07:26
1. Понты 2. Учитывая, что получение LocalTime занимает время, однажды выведется n+2 секунды после n. Этого долго ждать, но получится очевидный косяк. Несмотря на то, что время будет правильное.
Dmitry B
Уровень 20, DownTown
9 ноября 2021, 19:08
Если кого-то парит, что после полуночи формат в виде В г. Лондон сейчас 23:59:59! В г. Лондон сейчас полночь! В г. Лондон сейчас 0:0:1! . то, чтобы добавить 0 для целых чисел меньше 2 знаков, форматирование нужно выставить в виде %02d и будет так: В г. Лондон сейчас 00:00:01! Ну, мало ли, может кому пригодится совет ))
Сергей Коваленко
Уровень 37, Краснодар
27 декабря 2021, 19:35
да, пригодится ) спасибо 👍
Darya Hom
Уровень 32, Москва
6 февраля, 09:51
А как предыстория должна выглядеть? Через Integer.parseInt(String.format("%02d", 0)) не получается.
milyasow
Уровень 30, Москва, Russian Federation
17 мая, 19:01
У вас же вывод идет, какой parseInt?
System.out.println(String.format("В г. %s сейчас %02d:%02d:%02d!", cityName, hours, minutes, seconds));
AvalonPRO
Уровень 23, Москва
8 ноября 2021, 11:10
Вам удалось ее решить с 2 попытки. Среднее количество попыток для этой задачи 2.0. Всего эту задачу решили 30196 учеников. Решил с помощью этого: инкрементируем секунды;
БелК в труселях
Уровень 35, Покровск, Ukraine
19 ноября 2021, 06:27
Вот зачем решение выкладывать? А потом Всего эту задачу решили 30196 учеников.
MaDMark
Уровень 32, Новосибирск, Russian Federation
13 марта, 07:25
Возьми с полочки пирожок
Sergey Kornilov
Уровень 38, Petropavlovsk, Казахстан
3 ноября 2021, 07:25
Всего эту задачу решили 30135 учеников.
Zuri Bagomaeva
Уровень 19, Россия
29 августа 2021, 18:57
а зачем нужен Thread.sleep(1000); в main?
Тимур Акматов
Уровень 18, Бишкек, Кыргызстан
31 августа 2021, 19:11
особой значимой роли не играет, он нужен для равномерного вывода результата. После четвертой строки вывода не сразу кидает exit 0, а через секунду, так сказать для красоты и гармонии )))
Zuri Bagomaeva
Уровень 19, Россия
1 сентября 2021, 10:21
спасибо)
Алексей С
Уровень 27, Россия
9 августа 2021, 12:35
Честно я поначалу не понял описание задания.