public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String key;
label:
while (true){
key = reader.readLine();
//тут цикл по чтению ключей, пункт 1
switch (key) {
case "user":
Person user = new Person.User();
break;
case "loser":
Person loser = new Person.Loser();
break;
case "coder":
Person coder = new Person.Coder();
break;
case "proger":
Person proger = new Person.Proger();
break;
default:
break label;
}
//создаем объект, пункт 2
doWork(null); //вызываем doWork
}
}
public static void doWork(Person person) {
{
if ((person instanceof Person.User)) {
Person.User user = (Person.User) person;
user.live();
}
if (person instanceof Person.Loser){((Person.Loser) person).doNothing();}
if (person instanceof Person.Coder){((Person.Coder) person).writeCode();}
if (person instanceof Person.Proger){((Person.Proger) person).enjoy();}
}
}
}
Сергей
34 уровень
решение валидатор принял, но должном образом код не работает
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей
1 июня 2022, 21:59
это не должно быть правильным решением, помогите пожалуйста разобраться
0
Aleksey
2 июня 2022, 03:25
В каждом case, Вы должны вызвать метод doWork, который в качестве аргумента принимает объект Person.
doWork(null) - это можно убрать
0
Руслан Тухватуллин QA Automation Engineer в ЛАНИТ
2 июня 2022, 09:15
в doWork() передай person
0