我寫了一個java程序,可以在運行時執行另一個java程序。程序如下從一個java程序傳遞值到另一個
import java.io.*;
public class exec
{
public static void main(String argv[])
{
int i=5,j=6,k=7;
BufferedReader rd = new BufferedReader (new InputStreamReader(System.in));
try{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
System.out.println("Enter class name");
String s=br.readLine();
Process pro=Runtime.getRuntime().exec(s);
BufferedReader in=new BufferedReader(new InputStreamReader(pro.getInputStream()));
String line=null;
while((line=in.readLine())!=null)
{
System.out.println(line);
}
in.close();
}
catch(Exception err)
{
err.printStackTrace();
}
}
}
如果我執行這個程序,它會提示用戶輸入任何類名(java程序)來執行。這是使用這段代碼Process pro=Runtime.getRuntime().exec(s);
一旦用戶輸入java類名稱,我應該能夠將值5,6,7傳遞給用戶輸入的java類。應該立刻通過一個值並計算該數字的平方。 我該怎麼做?
*能否請您1)問一個具體問題。 2)閱讀並執行[Runtime.exec()時不會](http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html)的所有建議。3)使用用於1.5 + 4以上代碼的'ProcessBuilder')考慮直接從代碼中調用另一個Java類(不包括涉及的Process')5)根據慣例約定代碼。代碼縮進旨在幫助讀者,而且代碼讀起來就像是狗的早餐。 –
@AndrewThompson如果你不明白這個問題,我很抱歉。我試過編輯這個問題。現在通過它並告訴我如何做到這一點? – Anil