Hey CodeGym,
My code works fine and this is precisely the solution I'd like to submit, alas the compilation isn't being run on the server's side, please check/help!
TYIA !
package com.codegym.task.task14.task1411;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.List;
/*
User, loser, coder and 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;
List<String> allowedKeys = List.of("user", "loser", "coder", "programmer");
while (true)
{
key = reader.readLine();
if (allowedKeys.contains(key)) {
if (key.equals("coder")) {
person = new Person.Coder();
}
if (key.equals("loser")) {
person = new Person.Loser();
}
if (key.equals("user")) {
person = new Person.User();
}
if (key.equals("programmer")) {
person = new Person.Programmer();
}
}
else {
break;
}
doWork(person); // Call doWork
}
}
public static void doWork(Person person) {
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();
}
if (person instanceof Person.User) {
((Person.User) person).live();
}
}
}