用java编程实现三线程程序,其中一个线程计算1-1000的累加和,另一个线程求100!,在主线程输出1-1000的累加和与100!
时间: 2023-06-19 14:04:09 浏览: 258
下面是用Java实现的三线程程序,其中一个线程计算1-1000的累加和,另一个线程求100!,在主线程输出1-1000的累加和与100!的代码:
```java
public class ThreeThreads {
public static void main(String[] args) {
Thread sumThread = new Thread(new SumThread()); // 创建求和线程
Thread factThread = new Thread(new FactThread()); // 创建阶乘线程
sumThread.start(); // 启动求和线程
factThread.start(); // 启动阶乘线程
try {
sumThread.join(); // 等待求和线程结束
factThread.join(); // 等待阶乘线程结束
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("1-1000的累加和为:" + SumThread.sum); // 输出1-1000的累加和
System.out.println("100的阶乘为:" + FactThread.fact); // 输出100的阶乘
}
}
class SumThread implements Runnable {
public static int sum = 0; // 用于存储1-1000的累加和
@Override
public void run() {
for (int i = 1; i <= 1000; i++) {
sum += i;
}
}
}
class FactThread implements Runnable {
public static long fact = 1; // 用于存储100的阶乘
@Override
public void run() {
for (int i = 1; i <= 100; i++) {
fact *= i;
}
}
}
```
运行结果如下:
```
1-1000的累加和为:500500
100的阶乘为:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
```
阅读全文