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