一段代码结果是 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();
}
}

解决方案 »

  1.   

    lZ写了一个判断素数的例子,3--10中当然是3,5,7了,
    要反问一句为什么不是3,5,7呢?
    简单的数学题:
    3    2<2&&true =false                return true
    4    2<3&&true = true                return false
    .....
    .
    .
    慢慢算吧
      

  2.   

    这题和线程没有关系,完全可以抛去线程的东西结果一样。
    就是一个简单的求3到10之间的质数的问题;
    质数定义:只有1和它本身这两个因数的自然数叫做质数。
    每拿到一个数 从2开始循环到比他小一的数,如果能被除尽则不是质数
    for(int i=2;i <n-1&&b;i++){
    if((n%i)==0)
    b=false;

    很显然这段程序写的很烂
      

  3.   


    我写的不是我的算法,是我解释lz给出的程序,我是在回答lz的问题。