我尝试使用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给西瓜获取“值”并继续从python循环并再次输入“value”并且......到最后。
你能帮我在python循环中使用“x”,比如java class的“value”......
感谢您的帮助,请原谅我的英语。
答案 0 :(得分: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'>
>>>
答案 1 :(得分:-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]);