Добрая Зинаида и летние каникулы

  • 5
  • Недоступна
Зинаида Васильевна — классный руководитель 7-Б класса какой-то там террианской школы, подробности не важны. А важно то, что она дарит подарки ученикам в дни рождения. Везет не всем: летние именинники — в пролёте по причине каникул. Пишем программу для Зинаиды: создаем словарь с фамилиями и датами рождения, удаляем из него людей, родившихся летом.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (255)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Кирилл Витальевич11 уровень, Санкт-Петербург
14 мая, 07:57
Советую внимательно вводить названия месяцев по-английски, 3 пункт не хотел засчитываться, потому что вместо JANUARY вбивал JANYARY.
ProgX10 уровень
9 мая, 15:41
Вот через это решил: месяц - цифра
DateFormat sdf = new SimpleDateFormat("M");
Потом вот так выкусываю месяц.
int date = Integer.parseInt(sdf.format(ent.getValue()));
Хорошая задачка, много тем прокопать пришлось.
Александр9 уровень, Москва
2 мая, 22:46
Ура, со второй попытки). Спасибо, пипл, за подсказку про верхний и нижний регистр.
18 апреля, 09:27
Мой ход решения 1) Заполнил Map 2)-Итератором перебираем Мапу, вытаскиваем поочереди Дату рождения(getValue) которую в свою очередь нужно преобразовать в строку (toString). -сразу же её(строку) проверяем содержит ли наше условие летние месяца (точнее первые три буквы месяца, т.к. toString преобразует "June" в "Jun"(условие можно записать в одну строку. - тут же удалить из мапы по условию 3)end
Larisa Gandel8 уровень, Москва
14 апреля, 16:48
Тупой вопрос, наверно, но как метод createMap() использовать в мейн? Хотела там вывести на экран, но поняла, что не могу никак мэп перенести в мейн, ругается на throws ParseException;
18 апреля, 08:59
Просто добавь throws ParseException чтоб было так:
public static void main(String[] args) throws ParseException{
Artem Yaremchuk22 уровень, Омск
11 апреля, 17:03
Накастовал какое-то страшное заклятие
if (itr.next().getValue().toString().contains("Jun")) {
        itr.remove();
Зато сам!!!))
Дмитрий16 уровень
7 апреля, 21:55
Будьте внимательны, месяца пишутся с первой заглавной буквы, далее в нижнем регистре
Дмитрий Метельский19 уровень, Минск
6 апреля, 11:59
Народ, подскажите где почитать про Date и все его заморочки. Так и не расковырял задачу.
Askar16 уровень
4 апреля, 19:48
Доброго вермени суток. Подскажите пожалуйста, почему не ропшле вариант с: // for(HashMap.Entry<String, Date> entry : map.entrySet()){ // Date value = entry.getValue(); // int month = value.getMonth(); // if(month < 4 && month > 8){ // map.remove(entry.getValue()); // } // } а вариант прошел с: Iterator<HashMap.Entry<String, Date>> iterator = map.entrySet().iterator(); while(iterator.hasNext()){ HashMap.Entry<String, Date> pair = iterator.next(); int month = pair.getValue().getMonth();//напишите тут ваш код if(month == 5 || month == 6 || month == 7){ iterator.remove(); } }
Vitaliy13 уровень, Санкт-Петербург
21 апреля, 09:33
Потому что в if(month < 4 && month > 8){ // map.remove(entry.getValue()); ты удаляешь элементы, которые меньше 4 и больше 8. А нужно удалять те, которые лежат в интервале [5, 7].
Askar16 уровень
21 апреля, 15:41
Спасибо. Разобрался
Stanislav Sukhanov17 уровень
3 апреля, 14:59
вот задача - херня. Понять что хочет валидатор - проблема