Что не так?
package com.javarush.task.task14.task1411;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
/*
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){
//создаем объект, пункт 2
if (reader.readLine().equals("User")){
Person.User user = new Person.User();
doWork(user);
}
if (reader.readLine().equals("Loser")){
Person.Loser loser = new Person.Loser();
doWork(loser);
}
if (reader.readLine().equals("Coder")){
Person.Coder coder = new Person.Coder();
doWork(coder);
}
if (reader.readLine().equals("Proger")){
Person.Proger proger = new Person.Proger();
doWork(proger);
}
else {
reader.close();
}
}
}
public static void doWork(Person person) {
if (person instanceof Person.User) {
((Person.User) person).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();
}
// пункт 3
}
}