package com.javarush.task.task14.task1404; //For to this end Christ died, rose, and lived again, that he might be Lord of both the dead and the living. (Romans 14:9) import java.io.*; /* ÐоÑÑ */ public class Solution { public static void main(String[] args) throws Exception { //напиÑиÑе ÑÑÑ Ð²Ð°Ñ ÐºÐ¾Ð´ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String line; while (!(line = reader.readLine()).isEmpty()) { Cat catByKey = CatFactory.getCatByKey(line); System.out.println(catByKey.toString()); } reader.close(); } static class CatFactory { static Cat getCatByKey(String key) { Cat cat = null; if ("vaska".equals(key)) { cat = new MaleCat("ÐаÑилий"); } else if ("murka".equals(key)) { cat = new FemaleCat("ÐÑÑоÑка"); } else if ("kiska".equals(key)) { cat = new FemaleCat("ÐиÑÑлÑка"); } else { cat = new Cat(key); } return cat; } } static class Cat { private String name; protected Cat(String name) { this.name = name; } public String getName() { return this.name; } public String toString() { return "Я ÑлиÑнÑй ÐºÐ¾Ñ " + getName(); } } static class MaleCat extends Cat { MaleCat(String name) { super(name); } public String toString() { return "Я - ÑолиднÑй коÑак по имени " + getName(); } } static class FemaleCat extends Cat { FemaleCat(String name) { super(name); } public String toString() { return "Я - Ð¼Ð¸Ð»Ð°Ñ ÐºÐ¾ÑеÑка по имени " + getName(); } } } /* ÐоÑÑ 1. СÑиÑÑваÑÑ ÑÑÑоки(паÑамеÑÑÑ) Ñ ÐºÐ¾Ð½Ñоли, пока полÑзоваÑÐµÐ»Ñ Ð½Ðµ Ð²Ð²ÐµÐ´ÐµÑ Ð¿ÑÑÑÑÑ ÑÑÑокÑ(Enter). 2. ÐаждÑй паÑамеÑÑ ÑооÑвеÑÑÑвÑÐµÑ Ð¸Ð¼ÐµÐ½Ð¸ коÑа. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ паÑамеÑÑа: 3. СоздаÑÑ Ð¾Ð±ÑÐµÐºÑ cat клаÑÑа Cat, коÑоÑÑй Ñавен коÑÑ Ð¸Ð· getCatByKey(String паÑамеÑÑ). 4. ÐÑвеÑÑи на ÑкÑан cat.toString(). ТÑебованиÑ: 1.âÐÑогÑамма должна ÑÑиÑÑваÑÑ Ð´Ð°Ð½Ð½Ñе Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ. 2.âÐÑогÑамма должна пÑекÑаÑаÑÑ ÑÑиÑÑваÑÑ Ð´Ð°Ð½Ð½Ñе поÑле ввода пÑÑÑой ÑÑÑоки. 3.âÐÑогÑамма должна вÑводиÑÑ Ð½Ð° ÑкÑан опиÑание каждого коÑа (cat.toString). 4.âÐÑогÑамма должна ÑоздаваÑÑ Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑа Cat Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ введенного имени коÑа(ÑÑÑоки ÑÑиÑанной Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ) c помоÑÑÑ Ð¼ÐµÑода getCatByKey. package com.javarush.task.task14.task1404; * ÐоÑÑ * public class Solution { public static void main(String[] args) throws Exception { //напиÑиÑе ÑÑÑ Ð²Ð°Ñ ÐºÐ¾Ð´ } static class CatFactory { static Cat getCatByKey(String key) { Cat cat = null; if ("vaska".equals(key)) { cat = new MaleCat("ÐаÑилий"); } else if ("murka".equals(key)) { cat = new FemaleCat("ÐÑÑоÑка"); } else if ("kiska".equals(key)) { cat = new FemaleCat("ÐиÑÑлÑка"); } else { cat = new Cat(key); } return cat; } } static class Cat { private String name; protected Cat(String name) { this.name = name; } public String getName() { return this.name; } public String toString() { return "Я ÑлиÑнÑй ÐºÐ¾Ñ " + getName(); } } static class MaleCat extends Cat { MaleCat(String name) { super(name); } public String toString() { return "Я - ÑолиднÑй коÑак по имени " + getName(); } } static class FemaleCat extends Cat { FemaleCat(String name) { super(name); } public String toString() { return "Я - Ð¼Ð¸Ð»Ð°Ñ ÐºÐ¾ÑеÑка по имени " + getName(); } } } */