Как отправить действительный результат арифметической операции через DataOutputStream - PullRequest
0 голосов
/ 30 октября 2019

У меня есть класс подпроцесса, который вычисляет сумму двух целых чисел и затем помещает ее в 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 соответственно, результат будет "е».

В другой руке основной процесс не будет читать этот результат как DataInputStream через строку ReadInt (), и он выдает исключение:

        Exception in thread "main" java.io.EOFException
            at java.io.DataInputStream.readInt(Unknown Source)
            at testthread.MainProcess.main(MainProcess.java:21)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...