Advertisement
jaVer404

level14.lesson08.home06

Jun 23rd, 2015
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.45 KB | None | 0 0
  1. package com.javarush.test.level14.lesson08.home06;
  2.  
  3. /* MovieFactory
  4. Расширение функционала по аналогии, чтение с консоли:
  5. 1. Разобраться, что программа умеет делать.
  6. 2. Все классы должны быть внутри класса Solution.
  7. 3. Добавить классы Cartoon, Triller.
  8. 4. Разобраться, как мы получаем объект класса SoapOpera по ключу "soapOpera".
  9. Аналогично получению объекта SoapOpera сделать:
  10. 5. Добавить в MovieFactory.getMovie получение объекта Cartoon для ключа "cartoon".
  11. 6. Добавить в MovieFactory.getMovie получение объекта Triller для ключа "triller".
  12.  
  13. 7. Считать с консоли несколько ключей (строк).
  14. 7.1. Ввод заканчивается, как только вводится строка не совпадающая с одной из: "cartoon", "triller", "soapOpera".
  15. 8. Создать переменную movie класса Movie и для каждой введенной строки(ключа):
  16. 8.1. Получить объект используя MovieFactory.getMovie и присвоить его переменной movie.
  17. 8.2. Вывести на экран movie.getClass().getSimpleName().
  18. */
  19.  
  20. import java.io.BufferedReader;
  21. import java.io.InputStreamReader;
  22.  
  23. public class Solution
  24. {
  25.     public static void main(String[] args) throws Exception
  26.     {
  27.         //ввести с консоли несколько ключей (строк), пункт 7
  28.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  29.         String key = null;
  30.         Movie movie = null;
  31.         while (true) {
  32.             key = reader.readLine();
  33.             if (key.equals("cartoon")||key.equals("triller")||key.equals("soapOpera")) {
  34.                 movie = MovieFactory.getMovie(key);
  35.                 System.out.println(movie.getClass().getSimpleName());
  36.             }
  37.             else
  38.                 break;
  39.         }
  40.  
  41.         /*
  42. 8 Создать переменную movie класса Movie и для каждой введенной строки(ключа):
  43. 8.1 получить объект используя MovieFactory.getMovie и присвоить его переменной movie
  44. 8.2 вывести на экран movie.getClass().getSimpleName()
  45.         */
  46.  
  47.     }
  48.  
  49.     static class MovieFactory
  50.     {
  51.  
  52.         static Movie getMovie(String key)
  53.         {
  54.             Movie movie = null;
  55.  
  56.             //создание объекта SoapOpera (мыльная опера) для ключа "soapOpera"
  57.             if ("soapOpera".equals(key))
  58.             {
  59.                 movie = new SoapOpera();
  60.             }
  61.             //напишите тут ваш код, пункты 5,6
  62.             if ("cartoon".equals(key))
  63.             {
  64.                 movie = new Cartoon();
  65.             }
  66.  
  67.             if ("triller".equals(key))
  68.             {
  69.                 movie = new Triller();
  70.             }
  71.             return movie;
  72.         }
  73.     }
  74.  
  75.     static abstract class Movie
  76.     {
  77.     }
  78.  
  79.     static class SoapOpera extends Movie
  80.     {
  81.     }
  82.     //Напишите тут ваши классы, пункт 3
  83.     static class Cartoon extends Movie
  84.     {
  85.     }
  86.  
  87.     static class Triller extends Movie
  88.     {
  89.     }
  90.  
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement