Поздравляю, ты реализовал WithdrawCommand! Основной функционал завершен. Дальше можно допиливать и наводить красоту.
Реализуем одну плюшку. Можно и без нее, но с ней - красивее.
Это верификация кредитной карты пользователя. Нет, никакого API сторонних либ не будет. Только консольная обработка.
Итак
CashMachine (11)
- 40
- Недоступна
Комментарии (35)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Jean Valjean 41 уровень
12 декабря 2020, 22:24
В классе CommandExecutor в методе execute только проброс InterruptOperationException и никаких try catch, просто - allKnownCommandsMap.get(operation).execute();
Иначе при вводе exit не состоится выход, вызовется askOperation (блок мешал сработать InterruptedOperationException)
0
Alexey Prilessky 40 уровень, Минск
3 декабря 2020, 11:41
Это просто борьба с валидатором. Уже сделал 14 возможных реализаций, причем все работают как надо, но валидатор не пускает по третьему пункту
0
Хорс 41 уровень, Харьков
14 октября 2020, 10:20
с первого раза! По сравнению м предыдущей задачей это детский лепет
+2
Максим Android Developer в UAPP LLC
11 сентября 2020, 14:43
Уважаемые разработчики. Уточните, пожалуйста, в условиях, что вводить номер карты и пин надо отдельно, а не в одной строке. А то из-за этого долго ошибку ищешь.
+3
Владислав Software Developer
5 августа 2020, 07:13
Будущим поколениям:
проверять, что введенная строка - число, не нужно.
25 попыток программа "слишком долго работала", и я не понимал почему.
+3
Евгений 41 уровень, Нижний Новгород Expert
31 июля 2020, 17:46
Да, без комментов я бы долго гадал, какой должен быть ввод. А должен он быть таким:
1. Цикл проверяет валидность номера карты (пока 12 цифр не будет, требует ввести номер карты)
2. Цикл проверяет валидность пин-кода (то же самое).
3. Проверка номера карты и пина на соответствие нужным нам. Если не соответствуют, отбрасываем к самому первому циклу и всё по новой.
+5
Mike 35 уровень, Москва
24 декабря 2020, 06:39
В жизнь бы не додумался, что надо именно так!
Спасибо большое. Сама задача оч легкая, вопрос в догадках правильного алгоритма.
+1
Роман Тарнакин 35 уровень, Москва
30 июля 2020, 11:15
После предыдущей задачи (2 дня) эта кажется просто детским садом (40 минут). Делается по аналогии с методом execute() класса WithdrawCommand. Тот же самый do-while, проверки, исключения.
0
Николай 41 уровень, Санкт-Петербург
27 июня 2020, 11:49
Не выносите логику ввода и проверки валидности отдельным методом в ConsoleHelper. Валя ругается и хочет, чтоб код оставался внутри метода execute
+2
Андрей Калинин 40 уровень, Москва
11 мая 2020, 16:36

0
Eiffil 41 уровень, Москва
7 мая 2020, 21:49
На всякий случай: запрос cardID и pin - это 2 отдельных запроса. В одну строку через пробел валидатор не принимает.
+16
hidden #2307890 41 уровень
24 июля 2020, 20:45
5+ ты спас мои нервные клетки)
+2