用python执行java,然后把它交给d

2024-04-20 10:32:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用python测试Java类,我在“for循环”中使用suproccess

>>> import subprocess
>>> for x in range(1, 6):
...     subprocess.call(["java", "Watermelon"])
... 

所以当西瓜在等待输入时。。。你知道吗

public class Watermelon{
    public static void main(String[]args){
    Scanner sc = new Scanner(System.in);

    int w = sc.nextInt();

我必须输入“value”,然后按ENTER键来获取“value”,python的循环继续,再次输入“value”,然后。。。到最后。你知道吗

你能帮我在python循环中使用“x”吗,比如java类的“value”。。。你知道吗

谢谢你的帮助,请原谅我的英语。你知道吗


Tags: inimportforvaluerangejavapubliccall
2条回答

你很容易就能做到

>>> import subprocess
>>> for x in range(1, 6):
...     subprocess.call(["java", "Watermelon "+x])
... 

您只需要附加x来完成字符串。你知道吗

就像java ProgramName int1 int2 ...

还有, Scanner正在停止程序,程序等待用户输入。 相反,您可以执行以下操作

int w =Integer.parseInt(args[0]);

您可以使用PyJnius作为Python类访问Java类。你知道吗

>>> from jnius import autoclass
>>> system = autoclass('java.lang.System')
>>> con = system.console() 
>>> con.readLine()
12
'12'
>>>

使用编译的类进行测试

import java.io.Console;

public class Watermelon
{
    public String read()
    {   
        Console con = System.console();
        String line = con.readLine();
        return line;
    }
}

Python代码

>>> from jnius import autoclass
>>> w = autoclass('Watermelon')
>>> wi = w()
>>> line = wi.read()
12
>>> type(line)
<type 'str'>
>>> 

相关问题 更多 >