プロセス ビルダーを使用して単純な jar ファイルを実行しています。jar ファイルは、ユーザーに数値の入力を求めることで、単純に数値の 2 乗を計算します。コンソールで数値を入力できますが、プログラムがハングします。この (数値) をプロセスビルダーに戻して、その二乗を jar ファイルで計算するにはどうすればよいですか?
これが私のコードです:
public static void executeSystemCommand(String... args) {
try {
ProcessBuilder pb = new ProcessBuilder(args);
pb.redirectErrorStream(true);
Process proc = pb.start();
Reader reader = new InputStreamReader(proc.getInputStream());
int ch;
while ((ch = reader.read()) != -1) {
System.out.print((char) ch);
}
reader.close();
Scanner scan = new Scanner(System.in);
int k = scan.nextInt();
proc.getOutputStream().write(k);
proc.getOutputStream().close();
while ((ch = reader.read()) != -1) {
System.out.print((char) ch);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
}