I am getting the correct output.
But, it is not verifying
Thanks in advance.
package com.codegym.task.task14.task1411;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
User, loser, coder and programmer
*/
import java.util.*;
public class Solution implements Person {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Person person = null;
String key = null;
while(true)
// Here's the loop for reading the keys. Item 1
{
key = reader.readLine();
if(key.equals("user"))
{
person = new User();
doWork(person);
continue;
}
if(key.equals("loser"))
{
person = new Loser();
doWork(person);
continue;
}
if(key.equals("coder"))
{
person = new Coder();
doWork(person);
continue;
}
if(key.equals("programmer"))
{
person = new Programmer();
doWork(person);
continue;
}
else
{
reader.close();
break;
}
}// Call doWork
}
public static void doWork(Person person) {
// Item 3
if(person instanceof User)
{
User u = (User)person;
u.live();
}
else if(person instanceof Loser)
{
Loser l = (Loser)person;
l.doNothing();
}
else if(person instanceof Coder)
{
Coder c = (Coder)person;
c.writeCode();
}
else if(person instanceof Programmer)
{
Programmer p = (Programmer)person;
p.enjoy();
}
}
}