关于一个线程的问题!!!!

liuhong_20 2009-07-30 07:34:19
一段代码结果是 3,5,7

可我不知道是为什么,请帮忙分析 为什么是这个结果,最好很详细 , 分不够在加,谢谢了


class C6 implements Runnable{

public void run() {

for(int a=3;a<=10;a++){
if(isPrime(a))
System.out.print(a+"\t");
}
}
public boolean isPrime(int n){
boolean b=true;
for(int i=2;i<n-1&&b;i++){
if((n%i)==0)
b=false;
}
return b;
}

}
public class Test6{
public static void main(String args[]){
Thread t=new Thread(new C6());
t.start();
}
}
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lnfszl 2009-08-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lnfszl 的回复:]
这题和线程没有关系,完全可以抛去线程的东西结果一样。
就是一个简单的求3到10之间的质数的问题;
质数定义:只有1和它本身这两个因数的自然数叫做质数。
每拿到一个数 从2开始循环到比他小一的数,如果能被除尽则不是质数
for(int i=2;i <n-1&&b;i++){
if((n%i)==0)
b=false;
}
很显然这段程序写的很烂
[/Quote]

我写的不是我的算法,是我解释lz给出的程序,我是在回答lz的问题。
bigbug9002 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lnfszl 的回复:]
这题和线程没有关系,完全可以抛去线程的东西结果一样。
就是一个简单的求3到10之间的质数的问题;
质数定义:只有1和它本身这两个因数的自然数叫做质数。
每拿到一个数 从2开始循环到比他小一的数,如果能被除尽则不是质数
for(int i=2;i <n-1&&b;i++){
if((n%i)==0)
b=false;
}
很显然这段程序写的很烂
[/Quote]
那段程序不是和你说的算法一样吗?
Conan君 2009-07-31
  • 打赏
  • 举报
回复
这和线程没关系的吧。
lnfszl 2009-07-30
  • 打赏
  • 举报
回复
这题和线程没有关系,完全可以抛去线程的东西结果一样。
就是一个简单的求3到10之间的质数的问题;
质数定义:只有1和它本身这两个因数的自然数叫做质数。
每拿到一个数 从2开始循环到比他小一的数,如果能被除尽则不是质数
for(int i=2;i <n-1&&b;i++){
if((n%i)==0)
b=false;
}
很显然这段程序写的很烂
o_range 2009-07-30
  • 打赏
  • 举报
回复
路过,顶一下 !
warrior30 2009-07-30
  • 打赏
  • 举报
回复
lZ写了一个判断素数的例子,3--10中当然是3,5,7了,
要反问一句为什么不是3,5,7呢?
简单的数学题:
3 2<2&&true =false return true
4 2<3&&true = true return false
.....
.
.
慢慢算吧

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧