/* 编写一个测试程序,用多线程计算1万以内素数之和与完全数之和的乘积。
*/
import java.lang.Thread;
class PrimeAdd extends Thread{
long a=0;//用来计算素数之和
public boolean isPrime(int i){//判断是否是素数
int count=0, j;
for( j=1;j<=i;j++){
if(i%j==0)
count++;
}
if(count==2)
return true;
else
return false;
}
public void run(){
//try{
for(int i=1;i<10000;i++){
if(isPrime(i))
a+=i;
}
System.out.println(a);
// }
//catch(InterruptedException e){}
}
public long get(){
return a;
}
}
class CompleteAdd extends Thread{
long b=0;//用来计算完全数之和
public boolean isComplete(int i){
int count=0, j;
for(j=1;j<i;j++){
if(i%j==0)
count+=j;
}
if(count==i)
return true;
else
return false;
}
public void run(){
//try{
for(int i=1;i<10000;i++){
if( isComplete(i))
b+=i;
}
System.out.println(b);
// }
// catch(InterruptedException e){}
}
public long get(){
return b;
}
}
public class theProduct extends Thread {
public static void main(String[] args) {
PrimeAdd threadA=new PrimeAdd();
CompleteAdd threadB =new CompleteAdd();
threadA.start();
threadA.join();
threadB.start();
threadB.join();
System.out.println(threadA.get()*threadB.get());
}
}
这里给我报的错是
我知道要捕获异常,但是不知道在哪里加try.catch