Не проходит по третьему пункту.
Мой код:
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Person person = null;
String key = null;
boolean a = true;
while (a) {
key = reader.readLine();
switch (key) {
case ("user"):
person = new Person.User();
break;
case ("loser"):
person = new Person.Loser();
break;
case ("coder"):
person = new Person.Coder();
break;
case ("proger"):
person = new Person.Proger();
break;
default:
a = false;
break;
}
doWork(person);
}
}
public static void doWork(Person person) {
if (person instanceof Person.User) {
((Person.User) person).live();
}
if (person instanceof Person.Loser) {
((Person.Loser) person).doNothing();
}
if (person instanceof Person.Coder) {
((Person.Coder) person).writeCode();
}
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!");
}
}
}