Вроде все условия выполнил, код проверил, но 2 пункт не проходит
Пробовал сначала dowork отдельно от цикла использовать так и 3 пункт не проходил
package com.javarush.task.task14.task1411;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import static com.javarush.task.task14.task1411.Person.*;
/*
User, Loser, Coder and Proger
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Person person = null;
String key = null;
//тут цикл по чтению ключей, пункт 1
while(true){
key = reader.readLine();
if(key.equals("user")){
person = new User();
doWork(person);
break;
}
else if(key.equals("loser")){
person = new Loser();
doWork(person);
break;
}
else if(key.equals("coder")){
person = new Coder();
doWork(person);
break;
}
else if(key.equals("proger")){
person = new Proger();
doWork(person);
break;
}
else break;
}
//создаем объект, пункт 2
//вызываем doWork
}
public static void doWork(Person person) {
if (person instanceof User){
((User) person).live();
}
if (person instanceof Loser){
((Loser) person).doNothing();
}
if (person instanceof Coder){
((Coder) person).writeCode();
}
if (person instanceof Proger){
((Proger) person).enjoy();
}
}
}