2013-05-29 34 views
1

下面是從Java錯誤從Java調用Python的時候,並傳遞參數

調用的Python
public static void main(String args[]) { 
    java.awt.EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      new test1().setVisible(true); 
     } 
    }); 
    try { 
     PythonInterpreter.initialize(System.getProperties(), System.getProperties(), new String[0]); 
     PythonInterpreter interp = new PythonInterpreter(); 
     interp.set("firstName", args[0]); 
     interp.set("lastName", args[1]); 
     interp.execfile("‪C:\\Users\\priyank\\Desktop\\pythontest.py"); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 

我收到以下異常給定的代碼:

java.lang.ArrayIndexOutOfBoundsException: 0" error.. 

爲什麼我得到這個錯誤?

回答

0

看起來你不會傳遞任何參數,當你開始你的應用程序。 args-array是空的(size = 0),但是你試圖訪問不存在的第一個元素(索引0)。

+0

我已經添加了兩個字符串到它,仍然我得到相同的錯誤,請幫我改寫它,如果你可以請告訴我如何從Java傳遞參數到python。 – eddy

+0

不知道,谷歌它已經? – desperateCoder

0

將值更改

interp.set("firstName", args[1]); 
interp.set("lastName", args[2]); 

它會工作,作爲第一個值是Python腳本文件名,但我們不能添加,請檢查。