编写一个Java源程序:编写一个Java源程序: (1)通过实现Runnable接口的类对象作为参数,创建“输入线程”和“输出线程”。 (2)“输入线程”负责输入两个复数。(3)“输出线程”负责输出两个复数的和。 (4)要求每输入两个复数,就要输出求和的结果,依此进行下去,直到任务结束
时间: 2023-02-05 08:03:29 浏览: 60
这是一个示例代码,它演示了如何使用线程实现输入、输出复数的功能:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建输入线程
InputThread inputThread = new InputThread();
Thread input = new Thread(inputThread);
// 创建输出线程
OutputThread outputThread = new OutputThread(inputThread);
Thread output = new Thread(outputThread);
// 启动线程
input.start();
output.start();
}
}
// 实现输入线程
class InputThread implements Runnable {
private Scanner scanner;
private boolean isRunning; // 标记线程是否继续执行
private ComplexNumber number1; // 第一个复数
private ComplexNumber number2; // 第二个复数
public InputThread() {
scanner = new Scanner(System.in);
isRunning = true;
}
@Override
public void run() {
while (isRunning) {
// 输入两个复数
System.out.print("请输入第一个复数的实部和虚部:");
number1 = new ComplexNumber(scanner.nextDouble(), scanner.nextDouble());
System.out.print("请输入第二个复数的实部和虚部:");
number2 = new ComplexNumber(scanner.nextDouble(), scanner.nextDouble());
}
}
// 停止线程的方法
public void stop() {
isRunning = false;
}
// 获取第一个复数的方法
public ComplexNumber getNumber1() {
return number1;
}
// 获取第二个复数的方法
public ComplexNumber getNumber2() {
return number2;
}
}
// 实现输出线程
class OutputThread implements Runnable {
private InputThread inputThread;
private boolean isRunning; // 标记线程是否继续执行
public OutputThread(InputThread inputThread) {
this.inputThread = inputThread;
isRunning = true;
}
@Override
public void run() {
while (isRunning) {
阅读全文