Адаптация нескольких интерфейсов

  • 20
  • Недоступна
Давай представим ситуацию, что с одной стороны у нас есть некая база данных, в которой хранятся данные. База данных имеет стандартный набор команд (методов) для предоставления данных, они описаны в интерфейсе IncomeData. Примеры представления данных приведены в комментариях около каждого метода. С другой стороны есть пользователи
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (293)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
joke_jo Инженер-конструктор 2к.
21 января, 09:21
Легчайшая, даже в требования не смотрел, все ясно из условия стало. А еще по хорошему надо менять возвращаемый тип функции getPhoneNumber(), ибо не всякий номер, даже без кода страны, влезет в int.
Сергей Коваленко
Уровень 32, Краснодар
12 января, 07:45
Михаил Кладовщик с кучей времени
8 января, 09:39
Простой короткий способ отформатировать номер
String.format("+%d(%03d)%d-%d-%d", code, num / 10000000, num / 10000 % 1000, num / 100 % 100, num % 100);
Но есть один минус - его не пропустит валидатор)
joke_jo Инженер-конструктор 2к.
21 января, 09:22
Простых(коротких) путей не искал, искал понятные.
String countryPhoneCode = "+" + data.getCountryPhoneCode();
String number = String.format(("%010d"), data.getPhoneNumber());
String formatNumber = "(" + number.substring(0, 3).trim() +
        ")" + number.substring(3, 6).trim() +
        "-" + number.substring(6, 8).trim() +
        "-" + number.substring(8, 10).trim(); //(001)999-88-77

return countryPhoneCode+formatNumber; //+7(001)999-88-77
Nik
Уровень 30, Калининград, Россия
6 января, 08:04
Т.к. лень было лезть разбираться в тонкостях String.format или regexs, нули добавил по простому String number = Integer.toString(data.getPhoneNumber()); for(int i = 10 - number.length(); i > 0; i -- ) { number = "0" + number; } А потом уже субстрингом разбил и вставил в стринг формат.
Вадим
Уровень 20, Россия
7 января, 20:09
Можно еще вот так
while (phone.length() != 10)
    phone = "0" + phone;
Alex V. Sokoloww
Уровень 22, нижний новгород, Россия
13 января, 14:33
а если условно говоря номер в базе наоборот уже длиннее 11 (ошибка ), тогда он так и будет прибавлять нули.
Максим Боев
Уровень 36, Санкт-Петербург, Russian Federation
1 января, 19:51
Зачем требовать конкретного имени поля?
smart_engineer
Уровень 36, Россия
8 декабря 2021, 13:13
Задача мне продемонстрировала превосходство Formatter над StringBuilder.
Denis
Уровень 32, Краснодар, Russian Federation
7 декабря 2021, 19:36
В решении JavaRush три лишних обращения к СУБД.
Serhio Gonsales
Уровень 32, Москва
23 ноября 2021, 09:27
у Джава Раша как всегда решение в "три строки" :)
Sergey Kornilov
Уровень 37, Petropavlovsk, Казахстан
18 ноября 2021, 08:40
Всего эту задачу решили 20539 учеников.
Anonymous #2813264
Уровень 26, Russian Federation
17 ноября 2021, 08:06
Почему кстати data а не incomeData? В прошлой задаче требовали полное название (там было fileOutputStream), на этот счет есть какое-то общепринятое правило, или это по настроению делается?