// И вот тут надо привести наш новый объект к классу 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")
Для внутреннего класса знак доллара надо было добавить, а не через точку