BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));while((line=brCleanUp.readLine())!=null){System.out.println("[输出]"+line);}程序中的System.in输入了几个...
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while ((line = brCleanUp.readLine ()) != null)
{
System.out.println ("[输出] " + line );
}
程序中的System.in 输入了几个变量的值传递到别处,然后经过别处的运算,最后输出运算后的结果,console运行后显示如下:
[输出] 1
[输出] -3
[输出] 4
[输出] A3
现在我只需要输出最后一行[输出] A3,该如何去做呢。
按照你们的方法,zeus3288运行后什么都输不出来,ZoviKoo为“[输出] null”,不知道是什么原因,发一下前面的代码,大家帮我看看:
Process process = Runtime.getRuntime().exec ("aa.exe");
stdin = process.getOutputStream ();
stderr = process.getErrorStream ();
stdout = process.getInputStream ();
int n = 3;
stdin.flush(); //把缓冲区里的东西强行写入输出流
int X= -1;
stdin.write((X + " " + "\n").getBytes() );
stdin.flush();
X= 1;
stdin.write((X + " " + "\n").getBytes() );
stdin.flush();
stdin.close();
BufferedReader brCleanUp = new BufferedReader(new InputStreamReader(System.in));
....
其中aa.exe为一个编译后的C语言程序,C语言中有需要scanf的变量n和X,现在我在java中导入这个程序,并传递n和X的实际参数,然后通过C语言中运算后在java中输出结果为
[输出] 1
[输出] -3
[输出] A3
这三行都是C语言中的运算后的输出结果,现在只需要输出最后一
展开