Advertisement
jaVer404

level14.lesson04.task02

Jun 4th, 2015
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.60 KB | None | 0 0
  1. package com.javarush.test.level14.lesson04.task02;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6.  
  7. /* Коты
  8. 1. Считывать строки(параметры) с консоли, пока пользователь не введет пустую строку(Enter).
  9. 2. Каждый параметр соответствует имени кота.
  10.  
  11. Для каждого параметра:
  12. 3. Создать объект cat класса Cat, который равен коту из getCatByKey(String параметр).
  13.  
  14. 4. Вывести на экран cat.toString().
  15. */
  16.  
  17. public class Solution
  18. {
  19.     public static void main(String[] args) throws Exception
  20.     {
  21.         //Add your code here
  22.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  23.         while (true) {
  24.             String userInput = reader.readLine();
  25.             if (userInput.isEmpty()) {
  26.                 break;
  27.             }
  28.             else {
  29.                 System.out.println(CatFactory.getCatByKey(userInput).toString());
  30.             }
  31.         }
  32.     }
  33.  
  34.     static class CatFactory
  35.     {
  36.  
  37.         static Cat getCatByKey(String key)
  38.         {
  39.             Cat cat = null;
  40.             if ("vaska".equals(key))
  41.             {
  42.                 cat = new MaleCat("Василий");
  43.             } else if ("murka".equals(key))
  44.             {
  45.                 cat = new FemaleCat("Мурочка");
  46.             } else if ("kiska".equals(key))
  47.             {
  48.                 cat = new FemaleCat("Кисюлька");
  49.             } else
  50.             {
  51.                 cat = new Cat(key);
  52.             }
  53.  
  54.             return cat;
  55.         }
  56.     }
  57.  
  58.     static class Cat
  59.     {
  60.         private String name;
  61.  
  62.         protected Cat(String name)
  63.         {
  64.             this.name = name;
  65.         }
  66.  
  67.         public String getName()
  68.         {
  69.             return this.name;
  70.         }
  71.  
  72.         public String toString()
  73.         {
  74.             return "Я уличный кот " + getName();
  75.         }
  76.     }
  77.  
  78.     static class MaleCat extends Cat
  79.     {
  80.         MaleCat(String name)
  81.         {
  82.             super(name);
  83.         }
  84.  
  85.         public String toString()
  86.         {
  87.             return "Я - солидный кошак по имени " + getName();
  88.         }
  89.     }
  90.  
  91.     static class FemaleCat extends Cat
  92.     {
  93.         FemaleCat(String name)
  94.         {
  95.             super(name);
  96.         }
  97.  
  98.         public String toString()
  99.         {
  100.             return "Я - милая кошечка по имени " + getName();
  101.         }
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement