Вот смотрите, изначально у меня появилось такое решение.. несмотря на то что Date уже Deprecated, метод getMonth() согласно https://docs.oracle.com/javase/8/docs/api/java/util/Date.html возвращает int... почему элементарное решение не работает?? Проверял что остается после этого кода в созданном HashMap`e...а ничего.... он как будто иф игнорирует... но и при этом удаляет всё подряд... неужели столь короткое решение нужно переписывать в датуформат? парсить месяца по значению, и потом через equals сравнивать? Почему нельзя так?
package com.javarush.task.task08.task0816;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/*
Добрая Зинаида и летние каникулы
*/
public class Solution {
public static Map<String, Date> createMap() throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("MMMMM d yyyy", Locale.ENGLISH);
Map<String, Date> map = new HashMap<>();
map.put("Сталлоне", dateFormat.parse("MAY 1 2012"));
//напишите тут ваш код
map.put("Вася", dateFormat.parse("JUNE 3 1998"));
map.put("Кузя", dateFormat.parse("AUGUST 8 1994"));
map.put("Smith", dateFormat.parse("FEBRUARY 20 1991"));
map.put("Mike", dateFormat.parse("AUGUST 8 1994"));
map.put("Tike", dateFormat.parse("FEBRUARY 20 1991"));
map.put("DoggyDog", dateFormat.parse("AUGUST 8 1994"));
map.put("Kapp", dateFormat.parse("FEBRUARY 20 1991"));
map.put("Nice", dateFormat.parse("AUGUST 8 1994"));
map.put("Worth", dateFormat.parse("FEBRUARY 20 1991"));
return map;
}
public static void removeAllSummerPeople(Map<String, Date> map) {
//напишите тут ваш код
Iterator <Map.Entry<String, Date>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, Date> pair = iterator.next();
Date date = pair.getValue();
if(date.getMonth() < 8 & date.getMonth() > 5)
iterator.remove();
}
}
public static void main(String[] args) {
}
}
сатанизмомпахнет