// И вот тут надо привести наш новый объект к классу s.
// Как это сделать?
/*
User, Loser, Coder and 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;
//тут цикл по чтению ключей, пункт 1
String s;Class c;
while(true){
s = reader.readLine();
s = s.substring(0, 1).toUpperCase() + s.substring(1);
c=Class.forName(s);
if(c==null)break;
Object o = c.newInstance();
// И вот тут надо привести наш новый объект к классу s.
// Как это сделать?
doWork((s)o); //вызываем doWork
}
}
public static void doWork(Person person) {
// пункт 3
}
}
PS
Переделал код. Но вот эта строка не находит класс
Class.forName("com.javarush.task.task14.task1411.Loser")
А вот Person находит
Class.forName("com.javarush.task.task14.task1411.Person")
И так не находит
Class.forName("com.javarush.task.task14.task1411.Person.User")
Для внутреннего класса знак доллара надо было добавить, а не через точку