public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String key = reader.readLine();
if (key.equals("cartoon") || key.equals("thriller") || key.equals("soapOpera")){
MovieFactory.getMovie(key);
}
else {
MovieFactory.getMovie(key);
break;
}
try {
System.out.println(MovieFactory.getMovie(key).getClass().getSimpleName());
} catch (NullPointerException e) {
System.out.println(key);
}
}
}
static class MovieFactory {
static Movie getMovie(String key) {
Movie movie = null;
if ("soapOpera".equals(key)) {
movie = new SoapOpera();
}
if ("cartoon".equals(key)) {
movie = new Cartoon();
}
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 {
}
}
Я выполнил все условия, почему валидатор ругается?package com.javarush.task.task14.task1414;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
MovieFactory
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String key = reader.readLine();
if (key.equals("cartoon") || key.equals("thriller") || key.equals("soapOpera")){
MovieFactory.getMovie(key);
}
else {
MovieFactory.getMovie(key);
break;
}
try {
System.out.println(MovieFactory.getMovie(key).getClass().getSimpleName());
} catch (NullPointerException e) {
System.out.println(key);
}
}
}
static class MovieFactory {
static Movie getMovie(String key) {
Movie movie = null;
if ("soapOpera".equals(key)) {
movie = new SoapOpera();
}
if ("cartoon".equals(key)) {
movie = new Cartoon();
}
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 {
}
}