Что от меня хочет последний пункт? На экран все выводит.
package com.javarush.task.task14.task1414;
/*
MovieFactory
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String key = null;
while (true){
key = reader.readLine();
if (key.equals("soapOpera") || key.equals("cartoon") || key.equals("thriller"))
switch (key) {
case "soapOpera":
MovieFactory.getMovie("soapOpera");
break;
case "cartoon":
MovieFactory.getMovie("cartoon");
break;
case "thriller":
MovieFactory.getMovie("thriller");
break;
}
else {
System.out.println(MovieFactory.getMovie(key));
break;
}
}
/*
8 Создать переменную movie класса Movie и для каждой введенной строки(ключа):
8.1 получить объект используя MovieFactory.getMovie и присвоить его переменной movie
8.2 вывести на экран movie.getClass().getSimpleName()
*/
}
static class MovieFactory {
static Movie getMovie(String key) {
Movie movie = null;
//создание объекта SoapOpera (мыльная опера) для ключа "soapOpera"
if ("soapOpera".equals(key)) {
movie = new SoapOpera();
System.out.println(movie.getClass().getSimpleName());
}
else if ("cartoon".equals(key)) {
movie = new Cartoon();
System.out.println(movie.getClass().getSimpleName());
}
else if ("thriller".equals(key)){
movie = new Thriller();
System.out.println(movie.getClass().getSimpleName());
}
//напишите тут ваш код, пункты 5,6
return movie;
}
}
static abstract class Movie {
}
static class SoapOpera extends Movie {
}
static class Cartoon extends Movie {}
static class Thriller extends Movie {}
}