用Java编程实现三线程程序,一个计算1-1000累加和,另一个求100!,在主线程输出累加和和100!
时间: 2024-05-04 09:20:40 浏览: 77
以下是Java实现的示例代码:
```java
public class Main {
public static void main(String[] args) {
// 创建累加和线程并启动
SumThread sumThread = new SumThread();
sumThread.start();
// 创建求阶乘线程并启动
FactorialThread factorialThread = new FactorialThread();
factorialThread.start();
try {
// 等待两个子线程执行完毕
sumThread.join();
factorialThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
// 输出结果
System.out.println("1-1000累加和为:" + sumThread.getSum());
System.out.println("100的阶乘为:" + factorialThread.getFactorial());
}
}
class SumThread extends Thread {
private int sum;
@Override
public void run() {
for (int i = 1; i <= 1000; i++) {
sum += i;
}
}
public int getSum() {
return sum;
}
}
class FactorialThread extends Thread {
private BigInteger factorial;
@Override
public void run() {
factorial = BigInteger.valueOf(1);
for (int i = 2; i <= 100; i++) {
factorial = factorial.multiply(BigInteger.valueOf(i));
}
}
public BigInteger getFactorial() {
return factorial;
}
}
```
在上面的示例代码中,我们创建了两个线程 `SumThread` 和 `FactorialThread`,分别用于计算1-1000的累加和和100的阶乘。在主线程中,我们先启动两个子线程,然后使用 `join()` 方法等待它们执行完毕。最后,我们在主线程中输出结果。
阅读全文