Created
June 16, 2016 21:07
-
-
Save josinSbazin/e14fd3854a3fa0ee94b20868ecb78bc9 to your computer and use it in GitHub Desktop.
level14.lesson08.home06
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.javarush.test.level14.lesson08.home06; | |
/* MovieFactory | |
Расширение функционала по аналогии, чтение с консоли: | |
1. Разобраться, что программа умеет делать. | |
2. Все классы должны быть внутри класса Solution. | |
3. Добавить классы Cartoon, Thriller. | |
4. Разобраться, как мы получаем объект класса SoapOpera по ключу "soapOpera". | |
Аналогично получению объекта SoapOpera сделать: | |
5. Добавить в MovieFactory.getMovie получение объекта Cartoon для ключа "cartoon". | |
6. Добавить в MovieFactory.getMovie получение объекта Thriller для ключа "thriller". | |
7. Считать с консоли несколько ключей (строк). | |
7.1. Ввод заканчивается, как только вводится строка не совпадающая с одной из: "cartoon", "thriller", "soapOpera". | |
8. Создать переменную movie класса Movie и для каждой введенной строки(ключа): | |
8.1. Получить объект используя MovieFactory.getMovie и присвоить его переменной movie. | |
8.2. Вывести на экран movie.getClass().getSimpleName(). | |
*/ | |
import java.io.BufferedReader; | |
import java.io.InputStreamReader; | |
import static com.javarush.test.level14.lesson08.home06.Solution.MovieFactory.getMovie; | |
public class Solution | |
{ | |
public static void main(String[] args) throws Exception | |
{ | |
//ввести с консоли несколько ключей (строк), пункт 7 | |
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); | |
String key = reader.readLine(); | |
while (true) { | |
if (key.equals("cartoon") || key.equals("soapOpera") || key.equals("thriller")) { | |
Movie movie = getMovie(key); | |
System.out.println(movie.getClass().getSimpleName()); | |
key = reader.readLine(); | |
} | |
else 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 { | |
} | |
//Напишите тут ваши классы, пункт 3 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment