给你一个经典的求质数方法吧。import java.util.*;class Sieve {
public static final boolean PRINT=false; public static void main(String[] args) {
int n=1000000;//多少以内
long start=System.currentTimeMillis();
BitSet b=new BitSet(n);
int count=0;
int i; for(i=2;i<=n;i++)
b.set(i);
i=2;
while(i*i<=n)
{
if(b.get(i))
{
if(PRINT) System.out.println(i);
count++;
int k=2*i;
while(k<=n)
{
b.clear(k);
k+=i;
}
}
i++;
} while(i<=n)
{
if(b.get(i))
{
if(PRINT) System.out.println(i);
count++; }
i++;
}
long end=System.currentTimeMillis();
System.out.println(count+" primes");
System.out.println((end-start) + " milliseconds");
}}
public static final boolean PRINT=false; public static void main(String[] args) {
int n=1000000;//多少以内
long start=System.currentTimeMillis();
BitSet b=new BitSet(n);
int count=0;
int i; for(i=2;i<=n;i++)
b.set(i);
i=2;
while(i*i<=n)
{
if(b.get(i))
{
if(PRINT) System.out.println(i);
count++;
int k=2*i;
while(k<=n)
{
b.clear(k);
k+=i;
}
}
i++;
} while(i<=n)
{
if(b.get(i))
{
if(PRINT) System.out.println(i);
count++; }
i++;
}
long end=System.currentTimeMillis();
System.out.println(count+" primes");
System.out.println((end-start) + " milliseconds");
}}
public static void main(String [] args){
int i=0;
for(int z=1;z<=100;z++){
i=0;
for(int j=2;j<=z/2;j++)
if (z%j==0)
i=1;
if (i==0)
System.out.println(z);
}
}
}
{
public static void main(String args[])
{
int j,i;
for(i=2;i<100;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(i==j)
System.out.println(i);
}
}
}