MovieFactory

  • 8
  • Недоступна
У вас есть код программы MovieFactory, разберитесь, что она умеет делать. Добавьте классы Cartoon, Thriller и разберитесь, как мы получаем объект класса SoapOpera по ключу "soapOpera".
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (114)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Алексей27 уровень
12 ноября, 14:50
легко за 3 минуты
Den16 уровень, Одесса
суббота, 13:57
я три минуты только условие читал)
Veronika22 уровень, Москва
23 октября, 19:18
"Для каждой введенной строки (в том числе для некорректной) <--- !!!! ..." можно решить через do-while + switch case, прокатило...
михаил громыко16 уровень, Минск
14 сентября, 00:38
Вспотел, но решил)))
Andrey Tkachenko15 уровень, Минск
7 сентября, 09:01
Условия неочевидны
Igor Davydov19 уровень, Харьков
3 сентября, 01:26
Как нужно было решить задачу правильно? У меня основной фрагмент кода вышел вот такой, но есть ощущение, что так сделал неправильно.
while (key.equals("soapOpera") || key.equals("cartoon") || key.equals("thriller")) {
    movie = MovieFactory.getMovie(key);
    System.out.println(movie.getClass().getSimpleName());
    key = bufferedReader.readLine();
}
try {
    movie = MovieFactory.getMovie(key); //Для каждой введенной строки (в том числе для некорректной) необходимо вызвать метод MovieFactory.getMovie.
} catch (NullPointerException e) {
    System.out.println("А это че-то новенькое");
}
И в классе MovieFactory все стандартно.
Den16 уровень, Одесса
суббота, 13:46
зачем movie = MovieFactory.getMovie(key); в try catch обернул? ты же в try не вызваешь никакого метода для переменной movie, исключения здесь быть не может
Fixel18 уровень
12 августа, 21:23
Вы решили задачу лучше, чем 0% учеников. Вам удалось ее решить с 19 попытки. Среднее количество попыток для этой задачи 2.49. Всего эту задачу решили 15397 учеников. Это было больно.
Andry Max35 уровень, Минск
4 августа, 16:24
как и многие не понял условия вызова метода для некорректной строки... но сделал видимо проще чем остальные, исключения не ловил, а просто если с else поместил в переменную муви метод и затем break. переменную не выводил, поэтому исключений не получил. проверку прошло.
Ivan20 уровень
31 июля, 08:06
Почитал комменты и не понял, зачем народ использует для решения этой задачи try-catch. Задачу решил со второй попытки, первую спалил из-за того что не увидел условие: 6. Для каждой введенной строки (в том числе для некорректной) необходимо вызвать метод MovieFactory.getMovie. Друзья, беру свои слова обратно, одно из оптимальных решений данной задачи, действительно через try-catch, иначе получается дубль логики. Нашел решение вообще из 2 строк цикла while :)
Николай17 уровень, Москва
31 июля, 21:42
А я до сих пор не понял, зачем генерировать исключение и затем его успешно ловить. Просто перед выводом на экран поставить условие. if (movie!= null) System.out.println (movie.getClass().getSimpleName()); и все работает, никаких исключений, валидатор доволен.
Ivan20 уровень
1 августа, 06:46
Я думаю что try-catch более правильный, потому что, так нужно будет делать в будущем, если мы понимаем что будет исключение, его лучше ловить.
Konstantin17 уровень
18 октября, 19:59
простое решение do-while
Eugen19 уровень
26 июля, 18:03
В чем была идея этого условия, или просто побалываться Exception .. В том числе для некорректной необходимо вызвать метод MovieFactory.getMovie.
Kupyrev Alexander20 уровень, Казань
19 июля, 22:51
ЗАЧЕМ??????? Для каждой введенной строки (в том числе для некорректной) необходимо вызвать метод MovieFactory.getMovie.