java多线程找素数实例
package ltb20180106;
public class FindPrime implements Runnable{
private int prime;
private int q;
private int w;
public FindPrime(int nn,int mm) {
q=nn;
w=mm;
}
public void run() {
getFindPrime(q,w);
}
public synchronized void getFindPrime(int min,int max) {
int k=max;
int j=min;
if(max<min) {
System.out.println("最大值不能小于最小值,请重新输入!");
}else if(max<=0||min<0) {
System.out.println("输入值不能是负数,或者最大值不能是零.");
}
for(int i=k;i>j;i--) {
if(i==1) { //1不是素数
continue;
}
prime=i%2;//去掉偶数
if(prime==0&&i>3) {
continue;
}
prime=i%3;//去掉整除3的数,但是要大于7
if(prime==0&&i>7) {
continue;
}
prime=i%5;//去掉整除5的数,但是要大于7
if(prime==0&&i>7) {
continue;
}
prime=i%7;//去掉整除7的数,,但是要大于7
if(prime==0&&i>7) {
continue;
}
System.out.println("["+Thread.currentThread().getName()+"]"+"素数:"+i+"["+prime+"]");
}
}
public static void main(String[] args) {
Thread t1=new Thread(new FindPrime(0,1000));
t1.start();
Thread t2=new Thread(new FindPrime(1001,2000));
t2.start();
Thread t3=new Thread(new FindPrime(2001,3000));
t3.start();
}
}
java多线程找素数实例的更多相关文章
- java多线程(内附实例:窗口售票问题、人和叉子的问题)
java多线程的开发有两种方法: (1)实现Runnable接口: (2)继承Thread类: 区别: (1)由于java中一个类只能继承一个父类,但是可以实现多个接口,所以实现Runnable接口比 ...
- java实现找素数
** 找素数** 素数就是不能再进行等分的整数.比如:7,11.而9不是素数,因为它可以平分为3等份.一般认为最小的素数是2,接着是3,5,- 请问,第100002(十万零二)个素数是多少? 请注意: ...
- java多线程的编程实例
java中可有两种方式实现多线程: 一种是继承Thread类: 一种是实现Runnable接口: Thread类 是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的ru ...
- java语言 打印素数实例
//根据定义判断素数---循环n-1次,当n很大时循环n次 public static void main(String[] args) { // TODO Auto-generated ...
- Java多线程-实例解析
Java多线程实例 3种实现方法Java中的多线程有三种实现方式:1.继承Thread类,重写run方法.Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯 ...
- java多线程编程实例
[转]这篇文章主要介绍了java多线程编程实例,分享了几则多线程的实例代码,具有一定参考价值,加深多线程编程的理解还是很有帮助的,需要的朋友可以参考下. 1.三个售票窗口同时出售20张票程序分析: ...
- 编写Java程序,实现多线程操作同一个实例变量的操作会引发多线程并发的安全问题。
查看本章节 查看作业目录 需求说明: 多线程操作同一个实例变量的操作会引发多线程并发的安全问题.现有 3 个线程代表 3 只猴子,对类中的一个整型变量 count(代表花的总数,共 20 朵花)进行操 ...
- Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap
概要 本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍.内容包括:ConcurrentSkipListMap介绍ConcurrentSki ...
- JAVA多线程和并发基础面试问答(转载)
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...
随机推荐
- JavaScript中的函数-7---函数的作用,定义,调用
JavaScript中的函数 函数也是对象,并且是javascript中的一等公民,可以用来创建普通对象.对象只是属性和值的集合 学习目标 1.掌握函数的作用 2.掌握函数的定义 3.掌握函数的调用 ...
- 小白入门photoscan
1.安装 我装的是photoscanPro 1.4.5版本.[注]:刚开始是在官网上下载的,要收费就点了试用,结果当我等了一天把将近200张图片处理完后,告诉我试用版不能保存文件...(绝望-_- - ...
- 20155219 2016-2017-2 《Java程序设计》第3周学习总结
20155219 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 数组问题 -Scanner实例,猜数字. package src.week1; import ...
- xdoj-1319 求树上任意一点的最大距离----利用树的直径
1 #include <bits/stdc++.h> using namespace std; ; vector < vector <int> > g(N); in ...
- web四则混合运算2
一.设计思路: 先出题(String型)(上周已经实现),再写方法计算结果,加入控制有无乘除法,范围,参与计算数,出题数,页码显示等简单功能,有无括号和分数的计算目前还没能实现. 二.代码: 界面 & ...
- 05 面向对象:构造方法&static&继承&方法 &final
构造方法及其重载: /* 构造方法格式特点 * a:方法名与类名相同(大小也要与类名一致) * b:没有返回值类型,连void都没有 * c:没有具体的返回值return; * 构造方法的重载 * 重 ...
- JSP中页面向Action传递参数的几种方式
<form name="ThisForm" method="POST" action="index.jsp"> form是表单, ...
- 【Disruptor】之Ringbuffer
一.Ringbuffer的概念 =>是一个环形数据队列的数据结构 =>嗯,正如名字所说的一样,它是一个环(首尾相接的环),你可以把它用做在不同上下文(线程)间传递数据的buffer. =& ...
- MySQL数据库的学习
------------------------------------- 管理数据库PS: Mysql的管理 主要是包括 用户的管理. show........各种的信息 SHOW COLUMN ...
- 【添加最新版本的mysql的jdbc连接jar包】java.math.BigInteger cannot be cast to java.lang.Long异常
[问题描述] 从我的电脑把项目拷贝到guo小中的win8电脑,but出现了那个错误,估计他的mysql是最新版本的. [如何下载连接jar包] 链接:https://pan.baidu.com/s/1 ...