public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while(true){
String x = reader.readLine();
if(x.equals("")) break;
System.out.println((CatFactory.getCatByKey(x)).toString());
}
}
public static class CatFactory {
public 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();
}
}
}
Uran Kulcharov
23 уровень
Задачу решил и она прошла проверку, но в конце выводит исключение NullPointException
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
IceBergMaster
18 августа 2019, 15:12
Значит добавь проверку на null, или заканчивай уже в браузере писать)
0