everything seems correct but the only one task requirement part doesn't wanna go off. Which is:
For each valid power ("user", "loser", "coder", "programmer") running doWork with a supported Person object as argument. (the third one on the list)
package pl.codegym.task.task14.task1411;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
User, loser, coder i programmer
*/
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;
while (true) {
key = reader.readLine();
boolean c = key.equals("user") || key.equals("coder") || key.equals("loser") || key.equals("programmer");
if (!c) break;
}
switch (key) {
case "user":
person = new Person.User();
break;
case "loser":
person = new Person.Loser();
break;
case "coder":
person = new Person.Coder();
break;
case "programmer":
person = new Person.Programmer();
break;
}
doWork(person);
}
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.Programmer) {
((Person.Programmer) person).enjoy();
}
}
}