"Убедитесь, что при вводе с консоли слова "user" создаётся экземпляр класса User".
При запуске вывод вроде правильный.
В чём ошибка?
package com.javarush.task.task14.task1411;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.List;
/*
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;
List<String> validInput = Arrays.asList("user", "loser", "coder", "proger");
while (validInput.contains(key = reader.readLine()))
{
person = PersonFactory.getPerson(key);
doWork(person);
}
}
public static void doWork(Person person) {
if (person instanceof Person.User) {
((Person.User) person).live();
} else if (person instanceof Person.Loser) {
((Person.Loser) person).doNothing();
} else if (person instanceof Person.Coder) {
((Person.Coder) person).writeCode();
} else if (person instanceof Person.Proger) {
((Person.Proger) person).enjoy();
}
}
}