java程式設計之多執行緒計算
阿新 • • 發佈:2019-02-07
/* *編寫兩個執行緒: *第一個執行緒計算2-1000000之間的質數及個數 *第二個執行緒計算1000000-2000000之間的質數 及個數 */ class myThread extends Thread{ private int a,b; //變數的宣告 private int count; private int count1=0; myThread(int x,int y){ //賦值函式 a=x; b=y; } public void run(){ //執行緒執行任務 try{ for(int i=a;i<=b;i++){ //for迴圈,計算a,b之間質數 count=1; //因數個數變數 for(int j=2;j<=i;j++){ //for迴圈,計算因數個數 if(i%j==0){ //如果i整除j,則j是i的因數 count++; //因數計數器+1 } if(count>2){ //如果因數個數大於2 break; //跳出磁層迴圈 } } if(count==2){ //如果該數只有兩個因數,說明這個數是質數 System.out.print(i+" "); //輸出質數 count1++; //質數個數計數器+1 } } System.out.println(a+"和"+b+"之間有"+count1+"個質數"); }catch(Exception e) //捕捉異常 {return;} } } public class prime{ public static void main(String args[]){ myThread ta=new myThread(2,1000000); //類物件 myThread tb=new myThread(1000000,2000000); ta.start(); //多執行緒的執行 tb.start(); } }