按照要求完成这段代码创建一个倒数计数线程。要求:1.该线程使用实现Runnable接口的写法;2.程序该线程每隔0.5秒打印输出一次倒数数值(数值为上一次数值减1)。 输入格式: N(键盘输入一个整数) 输出格式: 每隔0.5秒打印输出一次剩余数
时间: 2024-03-10 22:44:29 浏览: 384
根据您的要求,我为您编写了以下代码:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
Thread t = new Thread(new CountdownRunnable(N));
t.start();
}
}
class CountdownRunnable implements Runnable {
private int N; // 记录剩余的数字
public CountdownRunnable(int N) {
this.N = N;
}
public void run() {
while (N > 0) {
System.out.println("剩余数:" + N);
N--;
try {
Thread.sleep(500); // 线程休眠0.5秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
```
该程序中,我们从键盘输入一个整数 N 后,创建一个 CountdownRunnable 对象作为线程的任务,并启动一个新线程来执行该任务。在 CountdownRunnable 的 run() 方法中,我们使用 while 循环不断打印剩余数值,同时将 N 减1,并通过 Thread.sleep() 方法使线程休眠0.5秒,以满足题目要求的每隔0.5秒打印输出一次剩余数的要求。
阅读全文