题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
import java.util.*;
public class PrimeTest
{
public static void main(String[] args)
{
int x=0;
Vector v = new Vector();//集合,用来装所有的素数
for(int i=101;i<=200;i++)
{
boolean b=true;//标签为b为真
for(int j=2;j<i;j++)
{
if(i%j==0)//求余数是否为0
{
b = false;//如果为0, 将标签设置为false
break; //可以整除就跳出这个循环
}
}
if(b==true)//
{
v.add(i);//将符合要求的i加到集合里
x++; // 素数个数加1
}
}
System.out.println("100到200中间有 "+x+" 个素数");
System.out.println("素数为:\n"+v);
}
}
方法2:
import java.util.*;
public class PrimeTest
{
public static void main(String[] args)
{
int x=0;
Vector v = new Vector();
PrimeNumber pn = new PrimeNumber();
for(int i=101;i<=200;i++)
{
if(pn.isPrimeNumber(i)==true)
{
v.add(i);
x++;
}
}
System.out.println("100到200之间有" + x + "个素数");
System.out.println("100到200之间有素数为\n" + v);
}
}
class PrimeNumber
{
public boolean isPrimeNumber(int num)
{
boolean b = true;
for(int i=2;i<num;i++)
{
if(num%i==0)
{
b = false;
return b;//返回false
}
}
return b;//返回true
}
}