编写一个Java源程序:编写一个Java源程序: (1)通过实现Runnable接口的类对象作为参数,创建“输入线程”和“输出线程”。 (2)“输入线程”负责输入两个复数。(3)“输出线程”负责输出两个复数的和。 (4)要求每输入两个复数,就要输出求和的结果,依此进行下去,直到任务结束
时间: 2023-02-05 20:03:30 浏览: 30
以下是一个示例代码,实现了上述要求:
```java
import java.util.Scanner;
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();
}
}
// 实现输入线程的类
class InputThread implements Runnable {
// 存储输入的两个复数
private static double[] numbers = new double[2];
@Override
public void run() {
Scanner scanner = new Scanner(System.in);
while (true) {
// 输入第一个复数
System.out.print("请输入第一个复数的实部:");
numbers[0] = scanner.nextDouble();
System.out.print("请输入第一个复数的虚部:");
numbers[1] = scanner.nextDouble();
// 输入第二个复数
System.out.print("请输入第二个复数的实部:");
numbers[0] += scanner.nextDouble();
System.out.print("请输入第二个复数的虚部:");
numbers[1] += scanner.nextDouble();
}
}
}
// 实现输出线程的类
class OutputThread implements Runnable {
@Override
public void run() {
while (true) {
// 输出两个复数的和
System.out.println("两个复数的和为:" + InputThread.numbers[0] + "+" + InputThread.numbers[1] + "i");
}
}
}
```
上述代码中,`InputThread` 类实现了 `Runnable` 接口,负责输入两个复数,存储在一个静态变量中。`OutputThread` 类也实现了 `Runnable` 接