Компилятор ругается:
Убедись, что при вводе с консоли слова user создается экземпляр класса User
Вывод в консоль по результатам выполнения программы такой:
I usually just live.
I usually do nothing.
I usually write code.
It's a wonderful life!
package com.javarush.task.task14.task1411;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
User, Loser, Coder and Proger
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String key;
while (true) {
key = reader.readLine();
if (!(key.equals("user")) &&
!(key.equals("loser")) &&
!(key.equals("coder")) &&
!(key.equals("proger"))) { break; }
switch (key) {
case "user": doWork(new Person.User()); break;
case "loser": doWork(new Person.Loser()); break;
case "coder": doWork(new Person.Coder()); break;
case "proger": doWork(new Person.Proger()); break;
default: throw new IllegalStateException("Unexpected value");
}
}
}
public static void doWork(Person person) {
switch (person.getClass().getSimpleName()) {
case "User": Person.User.live(); break;
case "Loser": Person.Loser.doNothing(); break;
case "Coder": Person.Coder.writeCode(); break;
case "Proger": Person.Proger.enjoy(); break;
default: throw new IllegalStateException("Unexpected value");
}
}
}