编写一个Java源程序:编写一个Java源程序: (1)通过实现Runnable接口的类对象作为参数,创建“输入线程”和“输出线程”。 (2)“输入线程”负责输入两个复数。(3)“输出线程”负责输出两个复数的和。 (4)要求每输入两个复数,就要输出求和的结果,依此进行下去,直到任务结束
时间: 2023-02-05 12:09:31 浏览: 36
以下是一个示例 Java 源程序,实现了上述要求:
```
import java.util.Scanner;
class InputThread implements Runnable {
private Scanner scanner = new Scanner(System.in);
// 实现 run 方法
@Override
public void run() {
while (true) {
// 输入两个复数
double real1 = scanner.nextDouble();
double imag1 = scanner.nextDouble();
double real2 = scanner.nextDouble();
double imag2 = scanner.nextDouble();
// 将输入的复数存入 OutputThread 类的实例中
OutputThread.setComplexNumbers(real1, imag1, real2, imag2);
}
}
}
class OutputThread implements Runnable {
private static double real1, imag1, real2, imag2;
// 设置复数的值
public static void setComplexNumbers(double real1, double imag1, double real2, double imag2) {
OutputThread.real1 = real1;
OutputThread.imag1 = imag1;
OutputThread.real2 = real2;
OutputThread.imag2 = imag2;
}
// 实现 run 方法
@Override
public void run() {
while (true) {
// 计算两个复数的和
double sumReal = real1 + real2;
double sumImag = imag1 + imag2;
// 输出求和结果
System.out.println(sumReal + " + " + sumImag + "i");
}
}
}
public class Main {
public static void main(String[] args) {
// 创建输入线程和输出线程
Thread inputThread = new Thread(new InputThread());
Thread outputThread = new Thread(new OutputThread());
// 启动线程
inputThread.start();
outputThread.start();
}
}
```
在上面的代码中,InputThread 类实现了 Runnable 接口,并重写了 run 方法。run 方法中的代码负责输入两个复数,并将这两个复数的值存入 OutputThread 类的实例中。OutputThread 类也实现了 Runnable 接口,并重写了 run 方法。run 方法中的