1

以下は、Java から 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.. 

なぜこのエラーが発生するのですか?

4

3 に答える 3

0

値を次のように変更します

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

最初の値は python スクリプト ファイル名ですが、追加していないため、動作します。確認してください。

于 2014-01-02T10:02:29.837 に答える
0

パイプはより良い解決策になる可能性があります。このスレッドを見てください:

java: パイプ (stdin/stdout) を介してプロセスから & への読み取りと書き込みの両方を行う方法

于 2013-05-29T14:45:05.653 に答える