Все работает, но валидацию не проходит :-(
package com.javarush.task.task14.task1414;
/*
MovieFactory
*/
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws Exception {
Scanner read = new Scanner(System.in);
String s = "";
Movie movie = null;
int i = 0;
while (true) {
s = read.nextLine();
if (!((s.equals("soapOpera")||(s.equals("cartoon")||(s.equals("thriller")))))){
s = null;
}
movie = MovieFactory.getMovie(s);
if(movie!=null)System.out.println(movie.getClass().getSimpleName());
if(s==null) 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();
} else if ("cartoon".equals(key)) {
movie = new Cartoon();
} else if ("thriller".equals(key)) {
movie = new Thriller();
}
return movie;
}
}
static abstract class Movie {
}
static class SoapOpera extends Movie {
}
static class Cartoon extends Movie {
}
static class Thriller extends Movie {
}
}