package com.codegym.task.task14.task1411; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; /* 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; String[] array = new String[]{"user", "loser", "coder", "programmer"}; // Here's the loop for reading the keys. Item 1 while(true) { int i; if(reader.readLine() != array[i]) break; else key = reader.readLine(); // Create an object. Item 2 if(key.equals("user")) person = new Person.User(); else if(key.equals("loser")) person = new Person.Loser(); else if(key.equals("coder")) person = new Person.Coder(); else person = new Person.Programmer(); doWork(person); // Call doWork } } public static void doWork(Person person) { // Item 3 if(person instanceof Person.User) person.live(); else if(person instanceof Person.Loser) person.doNothing(); else if(person instanceof Person.Coder) person.writeCode(); else if(person instanceof Person.Programmer) person.enjoy(); } }