package com.javarush.task.task14.task1411;
import javax.imageio.IIOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
User, Loser, Coder and Proger
*/
public class Solution {
public static void main(String[] args) throws Exception {
Person person = null;
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
while (true) {
String key = reader.readLine();
if (key.equals("user") || key.equals("loser") || key.equals("coder") || key.equals("proger")) {
switch (key) {
case "user" -> person = new Person.User();
case "loser" -> person = new Person.Loser();
case "coder" -> person = new Person.Coder();
case "proger" -> person = new Person.Proger();
}
doWork(person);
} else {
break;
}
}
} catch (IIOException e) {
System.out.println("Something was wrong");
}
}
public static void doWork(Person person) {
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.Proger)
((Person.Proger) person).enjoy();
}
}package com.javarush.task.task14.task1411;
public interface Person {
class User implements Person {
void live() {
System.out.println("I usually just live.");
}
}
class Loser implements Person {
void doNothing() {
System.out.println("I usually do nothing.");
}
}
class Coder implements Person {
void writeCode() {
System.out.println("I usually write code.");
}
}
class Proger implements Person {
void enjoy() {
System.out.println("It's a wonderful life!");
}
}
}