2011-01-13 111 views
0

我想從控制檯讀取函數名稱,然後在該類中調用它。 因此,我不希望它自動發生,而是檢查使用「IF」語句的函數。在eclipse中,如何調用從控制檯讀取的函數?

Exmp. 
_ (CONSOLE) 
BuildDatabase (WRITTEN IN CONSOLE) 
---> What happens in class : Class.BuildDataBase(); 

可以這樣做嗎? 另一個問題 - 我怎樣才能從命令行運行我的班'主?

感謝提前

回答

1

您可以使用該反思:

Method method = YourClass.getMethod(nameReadFromConsole); //no parameters 
method.invoke(null); // invoking without a target object - i.e. static 

從控制檯通過運行完成的java command - java ClassName

0

當你說了命令行做u指的是終端? 如果你想運行一個類中的主要方法ü可以叫這個:

java MyClass 

但必須是編譯的文件(的.class)

0

,或者您可以編寫自定義閱讀器控制檯(需要這段代碼被清理/重構):

public static void main(String[] args) { 
    MyClass instance = new MyClass(); 
    while(true) { 
     System.out.print("> "); 
     String input = new BufferedReader(new InputStreamReader(System.in)).readLine(); 
     Method method = MyClass.getDeclaredMethod(input); 
     Object returnValue = method.invoke(instance); 
     System.out.println(returnValue); 
    } 
} 
  • 編輯以添加 '的readLine' 呼!
+0

如果我想傳遞參數該怎麼辦? – 2011-01-13 21:54:57

相關問題