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 s=reader.readLine();
while(true)
{
if(!(s.equals("user") || s.equals("loser") || s.equals("coder") || s.equals ("programmer")))
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.User) person).live();
else if(person instanceof Person.Loser)
((Person.Loser) person).doNothing();
else if(person instanceof Person.Coder)
((Person.Coder) person).writeCode();
else if(person instanceof Person.Programmer)
((Person.Programmer) person).enjoy();
}
}
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 s=reader.readLine();
// String[] array = new String[]{"user", "loser", "coder", "programmer"};
// Here's the loop for reading the keys. Item 1
while(true)
{
if(!(s.equals("user") || s.equals("loser") || s.equals("coder") || s.equals ("programmer")))
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.User) person).live();
else if(person instanceof Person.Loser)
((Person.Loser) person).doNothing();
else if(person instanceof Person.Coder)
((Person.Coder) person).writeCode();
else if(person instanceof Person.Programmer)
((Person.Programmer) person).enjoy();
}
}