Идея подчеркивает красным в методе main - createMap и говорит, что void type is not allowed here. Не могу понять, что ей нужно. Даже код протестировать не получается... Помогите, плиз!
package com.javarush.task.task08.task0816;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
/*
Добрая Зинаида и летние каникулы
*/
public class Solution {
public static HashMap<String, Date> createMap() throws ParseException {
DateFormat df = new SimpleDateFormat("MMMMM d yyyy", Locale.ENGLISH);
HashMap<String, Date> map = new HashMap<String, Date>();
map.put("Stallone", df.parse("JUNE 1 1980"));
map.put("A", df.parse("OCTOBER 4 1987"));
map.put("B", df.parse("JANUARY 1 1985"));
map.put("c", df.parse("AUGUST 28 1970"));
map.put("E", df.parse("DECEMBER 15 1986"));
map.put("F", df.parse("JULY 1 1980"));
map.put("G", df.parse("OCTOBER 4 1987"));
map.put("H", df.parse("AUGUST 1 1985"));
map.put("I", df.parse("AUGUST 28 1970"));
map.put("J", df.parse("NOVEMBER 15 1986"));
return map;
}
public static void removeAllSummerPeople(HashMap<String, Date> map) {
Iterator <Map.Entry<String,Date>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String,Date> pair = iterator.next();
String month = pair.getValue().toString();
if (month.equals("JUNE") || month.equals("JULY") || month.equals("AUGUST"))
iterator.remove();
}
}
public static void main(String[] args) {
removeAllSummerPeople(createMap());
}
}
Lena
18 уровень
void type not allowed here
Архивный
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sergey MorozExpert
6 января 2019, 19:56
Alt+Enter еще не научился в идее прожимать?
createMap() выбрасывает необработанный exception, а main его не обрабатывает
0
Lena
7 января 2019, 18:10
Извините за тупость, но что это значит "необработанный exception"?
И попробовала альт энтер сделать, пока ни к чему не пришла...
0
Sergey MorozExpert
7 января 2019, 18:16
Если в идее наступить на подчеркнутое место и нажать это сочетание, идея вывалит список с предлагаемыми решениями. Для этой ситуации их вроде будет 2:
1. добавить throws в сигнатуру метода
2. обернуть проблемный блок в try/catch
любое из них подходит.
0
Ярослав Java Developer Master
7 января 2019, 18:58
Не помню, на каком уровне исключения, но все же коротко объясню. Исключения - это исключительные ситуации, возникающие в коде.
Есть checked (проверяемые) и unchecked (не проверяемые исключения). checked - те, что наследуются от Exception, unchecked - те, что наследуются от RuntimeException или Error.
checked исключения можно (и нужно) обработать и придумать альтернативный сценарий в программе, unchecked можно обрабатывать, а можно и нет, они возникают по ходу работы программы или не возникают.
Так вот, все checked исключения нужно обрабатывать. Для этого есть три способа: 1) пробросить исключение далее. 2) Блок try-catch. 3) Указать, что метод пробрасывает исключения автоматически. Для первого способа тоже используется конструкция try-catch.
Это обработка исключения. Можно и пустым оставить, тогда программа продолжит свое выполнение так, будто метод отработал нормально.
Или вы можете указать то, что метод, в котором выполняется код, выбрасывающий исключение, пробрасывает это исключение выше. Для этого есть в конце метода конструкция throws Exception. Тогда обрабатывать надо будет где-то выше, где этот метод будет вызываться, или (если это метод main) эта ошибка завершит выполнение программы.
0
Дмитрий СоснинExpert
6 января 2019, 19:55
у меня дак этот код другую ошибку выдаёт, причём ИДЕЯ даже сама предлагает правильный способ исправить её. Ты точно тот код привёл?
0
Lena
7 января 2019, 18:06
Copy Paste
0
Дмитрий СоснинExpert
7 января 2019, 18:33
какая-то у тебя неправильная ИДЕЯ )))
У тебя при наведении мышки какой текст там пишется?
У тебя при наведении мышки какой текст там пишется? 0