Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.lang.reflect.Method;
- public class FunctionFactory {
- public static void main(String[] args) {
- String input = "sin cos tg ctg sinh cosh";
- String[] functions = input.split(" ");
- for (String function : functions) {
- try {
- // Формируем имя класса
- String className = capitalize(function) + "Function";
- // Получаем класс по имени
- Class<?> clazz = Class.forName(className);
- // Создаем экземпляр класса
- Object instance = clazz.getDeclaredConstructor().newInstance();
- // Вызываем метод evaluate
- Method evaluateMethod = clazz.getMethod("evaluate");
- evaluateMethod.invoke(instance);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- private static String capitalize(String str) {
- return str.substring(0, 1).toUpperCase() + str.substring(1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement