Всем привет! Помогите решить задачку, не знаю как подступиться..
Реализовать класс RateLimiterPrinter. Класс имеет конструктор, в который передается
interval и метод print(), в который передается строка. Класс функционирует по
следующему принципу: на объекте класса вызывается метод print(). Далее идет
проверка, когда был последний вывод в консоль. Если интервал (в миллисекундах)
между последним состоявшимся выводом и текущим выводом больше значения
interval, переданного в конструктор - то происходит вывод значения. Иначе - не
происходит, и сообщение отбрасывается. То есть класс ограничивает частоту вывода в
консоль. Другими словами, сообщение не будет выводится чаще чем 1 раз в interval
миллисекунд. Реализовать описанный класс.
public class RateLimitedPrinter {
public RateLimitedPrinter(int interval) {
// code here
}
public void print(String message) {
// code here
}
}
Пример использования. Задается вывод не чаще 1 раза в секунду, далее
запускается цикл.
public static void main(String[] args) {
RateLimitedPrinter rateLimitedPrinter = new RateLimitedPrinter(1000);
for (int i = 0; i < 1_000_000_000; i++) {
rateLimitedPrinter.print(String.valueOf(i));
}
long currentTime = System.currentTimeMillis(); // возвращает текущее
// время
}
FERZ'
9 уровень
Задачка
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
15 марта, 12:39
Начать нужно с условий, тебе все предельно понятно? Если да, то для проверки этого, представь что ты кому-то ставишь эту задачу, опиши этому условному человеку что нужно сделать, опиши задачу, опиши что нужно сделать, как это будет выглядеть приведи пример и желательно не заглядывая в оригинальное условие, разве что выписать оттуда
в качестве шпаргалки.
Если ты можешь объяснить другому , значит ты понял сам. Только так, сформулируй и перечитай глазами других, чтобы не было "ну там той сделать это а потом вот то".
Это самая важная стадия, ни о каком решении и с какой стороны подойти не идет речь и не может идти, если есть вопросы по условиям или непонятно что нужно сделать, ведь если здесь есть вопросы то и начинать нужно с них "не до конца понял что нужно сделать, вот к примеру неясен момент...".
И только когда уже все предельно понятно по условиям и что требуется можно начинать искать инструменты для решения 0
wan-derer.ru
14 марта, 06:59
1. Код надо оборачивать тэгом CODE.
2. Где твой код и что именно не получается?
+1