呼叫c++;来自java的exe 我试图从java applet调用C++ exe。为此,我使用SubBuffer-Dead。 ProcessBuilder pb = new ProcessBuilder(s); Process process = pb.start(); final InputStream is = process.getInputStream(); OutputStream out = process.getOutputStream(); PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(out))); pw.println(1); pw.println(1 +"" +2); new Thread(new Runnable() { public void run() { try { BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (java.io.IOException e) { } } }).start(); pw.close(); 启动时,C++ exe看起来像这样: 找到从s到t的最短路径 查找长度l内从s到t的关联路径 在从s到t的最短距离的(1+beta)倍内找到从s到t的关联路径 出口 请输入命令(1-4):

呼叫c++;来自java的exe 我试图从java applet调用C++ exe。为此,我使用SubBuffer-Dead。 ProcessBuilder pb = new ProcessBuilder(s); Process process = pb.start(); final InputStream is = process.getInputStream(); OutputStream out = process.getOutputStream(); PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(out))); pw.println(1); pw.println(1 +"" +2); new Thread(new Runnable() { public void run() { try { BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (java.io.IOException e) { } } }).start(); pw.close(); 启动时,C++ exe看起来像这样: 找到从s到t的最短路径 查找长度l内从s到t的关联路径 在从s到t的最短距离的(1+beta)倍内找到从s到t的关联路径 出口 请输入命令(1-4):,java,applet,process,Java,Applet,Process,输入命令后,例如1,我们得到 请输入s和t,用空格分隔: 在此之后,您输入两个数字,您将获得一个网络 我可以得到,直到请输入s和t,用空格分隔:。之后它不会显示任何内容 救命啊 谢谢 pw.println(1 +"" +2); 这将发送字符串12,而不是12。“是一个长度为零的字符串。您好,谢谢您的回复。那么如何输入两个以空格分隔的数字?通过打印数字之间的空格来感谢:pw.println(1+“”+2)注意引号之间的空格。谢谢。我添加了一个空间,但仍然没有得到最终的输出。它不考虑参数1和2。为

输入命令后,例如1,我们得到

请输入s和t,用空格分隔:

在此之后,您输入两个数字,您将获得一个网络

我可以得到,直到请输入s和t,用空格分隔:。之后它不会显示任何内容

救命啊

谢谢

pw.println(1 +"" +2);

这将发送字符串
12
,而不是
12
是一个长度为零的字符串。

您好,谢谢您的回复。那么如何输入两个以空格分隔的数字?通过打印数字之间的空格来感谢:
pw.println(1+“”+2)注意引号之间的空格。谢谢。我添加了一个空间,但仍然没有得到最终的输出。它不考虑参数1和2。为什么要这么做?C++程序是从STDIN读取的,还是直接从控制台读取的?