用Java编写一个程序3.编写一个应用程序,在主线程中再创建两个线程,一个线程负责给出键盘上字母健上的字母,另一个线程负责让用户在命令行中输入的命令。输入#结束命令
时间: 2023-06-25 15:02:12 浏览: 158
以下是一个Java程序示例,可以实现上述功能:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建两个线程
Thread thread1 = new Thread(new KeyboardThread());
Thread thread2 = new Thread(new CommandThread());
// 启动线程
thread1.start();
thread2.start();
// 等待两个线程结束
try {
thread1.join();
thread2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("程序结束");
}
}
// 键盘输入线程
class KeyboardThread implements Runnable {
@Override
public void run() {
Scanner scanner = new Scanner(System.in);
while (true) {
// 读取键盘输入
String input = scanner.nextLine();
// 输出读取的字符
System.out.println("键盘输入:" + input);
// 如果输入#,退出循环
if (input.equals("#")) {
break;
}
}
scanner.close();
System.out.println("键盘输入线程结束");
}
}
// 命令输入线程
class CommandThread implements Runnable {
@Override
public void run() {
Scanner scanner = new Scanner(System.in);
while (true) {
// 读取命令行输入
String input = scanner.nextLine();
// 输出读取的命令
System.out.println("命令行输入:" + input);
// 如果输入#,退出循环
if (input.equals("#")) {
break;
}
}
scanner.close();
System.out.println("命令行输入线程结束");
}
}
```
程序中创建了两个线程,分别负责读取键盘输入和命令行输入。在主线程中启动这两个线程,并等待它们结束后输出程序结束。每个线程中都有一个死循环,用于不断读取输入,当输入为#时退出循环。最后,关闭输入流并输出线程结束信息。
阅读全文