Skip to content

Instantly share code, notes, and snippets.

@josinSbazin
Created June 16, 2016 20:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save josinSbazin/c27fdb729069676ed48647906d1e76c4 to your computer and use it in GitHub Desktop.
Save josinSbazin/c27fdb729069676ed48647906d1e76c4 to your computer and use it in GitHub Desktop.
level14.lesson08.home03
package com.javarush.test.level14.lesson08.home03;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/* User, Looser, Coder and Proger
1. Ввести [в цикле] с клавиатуры несколько строк (ключей).
Строки(ключи) могут быть такими: "user", "looser", "coder", "proger".
Ввод окончен, когда строка не совпадает ни с одной из выше указанных.
2. Для каждой введенной строки нужно:
2.1. Создать соответствующий объект [см Person.java], например, для строки "user" нужно создать объект класса User.
2.2. Передать этот объект в метод doWork.
3. Написать реализацию метода doWork, который:
3.1. Вызывает метод live() у переданного обекта, если этот объект (person) имеет тип User.
3.2. Вызывает метод doNothing(), если person имеет тип Looser.
3.3. Вызывает метод coding(), если person имеет тип Coder.
3.4. Вызывает метод enjoy(), если person имеет тип Proger.
*/
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;
byte tst = 0;
while (true) {
key = reader.readLine();
switch (key) {
case "user":
person = new Person.User();
break;
case "looser":
person = new Person.Looser();
break;
case "coder":
person = new Person.Coder();
break;
case "proger":
person = new Person.Proger();
break;
default:
tst=1;
break;
}
if(tst==1) break;
doWork(person);
}
}
public static void doWork(Person person)
{
Class cc = Person.class;
if (person instanceof Person.User) ((Person.User) person).live();
else if (person instanceof Person.Looser) ((Person.Looser) person).doNothing();
else if (person instanceof Person.Coder) ((Person.Coder) person).coding();
else if (person instanceof Person.Proger) ((Person.Proger) person).enjoy();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment