Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过DataOutputStream发送算术运算的有效结果_Java_Flow_Datainputstream_Dataoutputstream - Fatal编程技术网

Java 如何通过DataOutputStream发送算术运算的有效结果

Java 如何通过DataOutputStream发送算术运算的有效结果,java,flow,datainputstream,dataoutputstream,Java,Flow,Datainputstream,Dataoutputstream,我有一个子流程类,它计算两个整数的和,然后将其放入DataOutputStream: public class SubProcess { public static void main(String[] args) throws IOException { DataInputStream in = new DataInputStream(System.in); DataOutputStream out = new DataOutputStream(System.out);

我有一个子流程类,它计算两个整数的和,然后将其放入DataOutputStream:

public class SubProcess {
  public static void main(String[] args) throws IOException {
     DataInputStream in = new DataInputStream(System.in);
     DataOutputStream out = new DataOutputStream(System.out);
     int a = in.readInt();
     out.writeInt(a);
     int b = in.readInt();
     out.writeInt(b);
     int result = a+b;
     out.writeInt(result);
     out.flush();
     in.read();
     out.close();
     in.close();
    }
  } 
当分别写入a和b的两个值(如12和47)时,结果为“ei”

另一方面,mainprocess不会像通过ReadInt()行读取DataInputStream那样读取该结果,它会抛出一个异常:

        Exception in thread "main" java.io.EOFException
            at java.io.DataInputStream.readInt(Unknown Source)
            at testthread.MainProcess.main(MainProcess.java:21)

似乎主进程并没有真正与子进程通信。从两个类中删除包并在cmd上运行主进程可以避免异常