Correct output - i think
package com.codegym.task.task14.task1411;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
/*
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;
boolean acceptInput = true;
Scanner input = new Scanner(System.in);
while (acceptInput) {
key = input.next();
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;
default:
System.exit(0);
acceptInput = false;
break;
}
doWork(person);
}
}
public static void doWork(Person person) {
// Item 3
if (person instanceof Person.Programmer) {
((Person.Programmer) person).enjoy();
} else if (person instanceof Person.Coder) {
((Person.Coder) person).writeCode();
} else if (person instanceof Person.Loser) {
((Person.Loser) person).doNothing();
} else if (person instanceof Person.User) {
((Person.User) person).live();
}
}
}