用java写 创建两个线程,其中一个线程向文件thread1.txt输出所有的水仙花数,另外一个线程向文件leapYear.txt输出1900年到2021年的所有闰年。
时间: 2024-03-10 19:50:20 浏览: 31
好的,下面是用 Java 写的程序,可以实现你的需求:
```java
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
Thread t1 = new Thread(new NarcissisticNumberTask());
Thread t2 = new Thread(new LeapYearTask());
t1.start();
t2.start();
}
}
class NarcissisticNumberTask implements Runnable {
@Override
public void run() {
try {
FileWriter writer = new FileWriter("thread1.txt");
for (int i = 100; i < 1000; i++) {
int a = i / 100;
int b = i % 100 / 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
writer.write(i + "\n");
}
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class LeapYearTask implements Runnable {
@Override
public void run() {
try {
FileWriter writer = new FileWriter("leapYear.txt");
for (int i = 1900; i <= 2021; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
writer.write(i + "\n");
}
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序创建了两个线程,分别执行 `NarcissisticNumberTask` 和 `LeapYearTask` 两个任务。其中,`NarcissisticNumberTask` 的任务是输出所有的水仙花数到文件 `thread1.txt`,`LeapYearTask` 的任务是输出 1900 年到 2021 年的所有闰年到文件 `leapYear.txt`。
这两个任务分别实现了 `Runnable` 接口,并重写了 `run` 方法,用于执行具体的任务。在 `run` 方法中,我们可以使用 `FileWriter` 类来向文件中写入数据,实现文件输出的功能。同时,由于两个任务是独立的,因此我们可以使用多线程同时执行它们,提高程序的效率。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)