上机模拟卷2A

这是一个Java程序,它创建了四个线程T1、T2、T3和T4,每个线程分别计算并输出指定范围内(50000-250000)的素数到不同的文件中。程序通过检查一个数是否能被2到自身之前的所有整数整除来判断其是否为素数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class Main {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
	T1 a=new T1();
	a.start();
	T2 b=new T2();
	b.start();
	T3 c=new T3();
	c.start();
	T4 d=new T4();
	d.start();
	
		
	}

}

 

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class T1 extends Thread{
	
	public void run()
	{
		 int count=0;
		 for(int j=50000;j<=150000;j++)
	        {
	        	
	        	  int test=j;
	              int flag=0;  
	              
	              for(int i=2;i<test;i++)
	              {
			           if(test%i==0)
			             {
				             flag=1;
				             break;
			            }
		          }
	              
		         if(flag==0)
		         {
			         count++;			                 
		         }	        	
	        }
		
		
		 FileOutputStream fou = null;
		try {
			fou = new FileOutputStream("C:\\2021JAVA\\上机考试模拟题2\\上机考试模拟题2\\A卷(考生姓名)\\DataA\\part1.txt");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 OutputStreamWriter ouw=new OutputStreamWriter(fou);
		 
		 try {
			ouw.write("50000-150000之间的素数为:");
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 
		 String t=""+count+"个\r\n";
		
		try {
			ouw.write(t);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		for(int j=50000;j<=150000;j++)
        {
        	
        	  int test=j;
              int flag=0;   
              for(int i=2;i<test;i++)
              {
		           if(test%i==0)
		             {
			             flag=1;
			             break;
		            }
	          }
	         if(flag==0)
	         {
	        	 String t1=""+j+"\r\n";
	        	 try {
					ouw.write(t1);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		         	         
	         }

        	
        }
		
		
		
		try {
			ouw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

 

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class T2 extends Thread{
	
	public void run()
	{
		 int count=0;
		 for(int j=150001;j<=200000;j++)
	        {
	        	
	        	  int test=j;
	              int flag=0;  
	              
	              for(int i=2;i<test;i++)
	              {
			           if(test%i==0)
			             {
				             flag=1;
				             break;
			            }
		          }
	              
		         if(flag==0)
		         {
			         count++;			                 
		         }	        	
	        }
		
		
		 FileOutputStream fou = null;
		try {
			fou = new FileOutputStream("C:\\2021JAVA\\上机考试模拟题2\\上机考试模拟题2\\A卷(考生姓名)\\DataA\\part2.txt");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 OutputStreamWriter ouw=new OutputStreamWriter(fou);
		 
		 try {
			ouw.write("150001-200000之间的素数为:");
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 
		 String t=""+count+"个\r\n";
		
		try {
			ouw.write(t);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		for(int j=150001;j<=200000;j++)
        {
        	
        	  int test=j;
              int flag=0;   
              for(int i=2;i<test;i++)
              {
		           if(test%i==0)
		             {
			             flag=1;
			             break;
		            }
	          }
	         if(flag==0)
	         {
	        	 String t1=""+j+"\r\n";
	        	 try {
					ouw.write(t1);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		         	         
	         }

        	
        }
		
		
		
		try {
			ouw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

 

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class T3 extends Thread{
	
	public void run()
	{
		 int count=0;
		 for(int j=200001;j<=230000;j++)
	        {
	        	
	        	  int test=j;
	              int flag=0;  
	              
	              for(int i=2;i<test;i++)
	              {
			           if(test%i==0)
			             {
				             flag=1;
				             break;
			            }
		          }
	              
		         if(flag==0)
		         {
			         count++;			                 
		         }	        	
	        }
		
		
		 FileOutputStream fou = null;
		try {
			fou = new FileOutputStream("C:\\2021JAVA\\上机考试模拟题2\\上机考试模拟题2\\A卷(考生姓名)\\DataA\\part3.txt");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 OutputStreamWriter ouw=new OutputStreamWriter(fou);
		 
		 try {
			ouw.write("200001-230000之间的素数为:");
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 
		 String t=""+count+"个\r\n";
		
		try {
			ouw.write(t);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		 for(int j=200001;j<=230000;j++)
        {
        	
        	  int test=j;
              int flag=0;   
              for(int i=2;i<test;i++)
              {
		           if(test%i==0)
		             {
			             flag=1;
			             break;
		            }
	          }
	         if(flag==0)
	         {
	        	 String t1=""+j+"\r\n";
	        	 try {
					ouw.write(t1);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		         	         
	         }

        	
        }
		
		
		
		try {
			ouw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

 

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class T4 extends Thread{
	
	public void run()
	{
		 int count=0;
		 for(int j=230001;j<=250000;j++)
	        {
	        	
	        	  int test=j;
	              int flag=0;  
	              
	              for(int i=2;i<test;i++)
	              {
			           if(test%i==0)
			             {
				             flag=1;
				             break;
			            }
		          }
	              
		         if(flag==0)
		         {
			         count++;			                 
		         }	        	
	        }
		
		
		 FileOutputStream fou = null;
		try {
			fou = new FileOutputStream("C:\\2021JAVA\\上机考试模拟题2\\上机考试模拟题2\\A卷(考生姓名)\\DataA\\part4.txt");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 OutputStreamWriter ouw=new OutputStreamWriter(fou);
		 
		 try {
			ouw.write("230001-250000之间的素数为:");
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 
		 String t=""+count+"个\r\n";
		
		try {
			ouw.write(t);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		 for(int j=230001;j<=250000;j++)
        {
        	
        	  int test=j;
              int flag=0;   
              for(int i=2;i<test;i++)
              {
		           if(test%i==0)
		             {
			             flag=1;
			             break;
		            }
	          }
	         if(flag==0)
	         {
	        	 String t1=""+j+"\r\n";
	        	 try {
					ouw.write(t1);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		         	         
	         }

        	
        }
		
		
		
		try {
			ouw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

發財發財

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值