2016-05-29 93 views
0

的功能有什麼辦法,我可以在終端編寫命令狀的Java輸入傳遞從終端

config.group1.val1

並以某種方式解析此命令並在Java函數中發送「group1」和「val1」作爲兩個參數?

我不能通過args []數組在主函數中發送它。

+0

爲什麼不呢?只需拆分輸入字符串並將方法中的單個令牌作爲參數傳遞 –

+0

如何讀取寫入終端的命令並解析它以傳遞給java代碼。任何想法? – bubai93

+0

爲什麼不使用掃描儀,因爲你不能從args []中獲取它們? – Leo

回答

2

這是可以做到的未來:

Scanner scanner = new Scanner(System.in); 
// get the next line from the terminal 
String line = scanner.nextLine(); 
// split it using . as separator 
String[] params = line.split("\\."); 
// Default value 
String value = "unknown"; 
// Assuming that the name of your map is "map" 
Map<String, String> subMap = map.get(params[1]); 
if (subMap != null && subMap.containsKey(params[2])) { 
    value = subMap.get(params[2]); 
} 
// print the value found 
System.out.println(value); 
+0

它得到了一個java.lang.ArrayIndexOutOfBoundsException:0異常在第一行 – bubai93

+0

這段代碼假設你啓動你的程序config.group1.val1作爲參數 –

+0

我的意思是java MyClass config.group1.val1 –