Собственно, сам код. Просто любопытно можно ли в Java создавать объекты класса прописывая имя класса создаваемого объекта передавая через класс String. Я и с Object покрутил имя переменной person типа Person, затем пытаясь сузить в скобках при помощи данного выражения к 1-й букве верхнего регистра.
Расскажите, пожалуйста, если такое возможно.
П.С. Задание я понял, но хочется попробовать упростить код.
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;
//тут цикл по чтению ключей, пункт 1
while (true)
{
key = reader.readLine();
// не совпадает с одной из ожидаемых(user, loser, coder, proger).
//создаем объект, пункт 2
if (key.equals("user") || key.equals("loser") || key.equals("coder") || key.equals("proger")) {
person = new (key.substring(0,1).toUpperCase())();
doWork(person); //вызываем doWork
}
}
}
public static void doWork(Person person) {
// пункт 3
}
}