1.如代码段所示:(前50个素数的代码)
package hello;
public class Hello {
public static void main(String[] args)
{
int count=0;
int number=0; //用于之后的每十个数换行使用
for(int i = 2;count < 50; i++)
//n和i都是从2开始的,因为最小的素数是2,count是从0~49正好50个素数,
{
int isprime = 1; //如果是素数就为1,不是素数即为0
for(int n=2;n<i;n++) //n被当作除数,i是被除数,n从2开始且小于i
{
if(i%n==0) //如果可以被整除,不是素数
{
isprime=0;
break;
}
}
if(isprime==1) //(i%n!=0),即为素数
{
System.out.print(i+" ");//输出
number=number+1; //number自增,用于每十个数输出的换行
count=count+1;
if(number%10==0)
{
System.out.println();
}
}
}
}
}
运行结果:
2.如下代码段所示:(100以内的素数)
Scanner in=new Scanner(System.in);
int number=0;
for( int n=2;n<100;n++)
{
int isprime=1;//这个语句放在外面和里面的效果不一样,,
for(int i=2;i<n;i++)
{
if(n%i==0)
{
isprime=0;
break;
}
}
if(isprime==1)
{
if(number%5==0)
{
System.out.println();
}
System.out.print(n+" ");
number++;
}
}
in.close();
运行结果:
自己尝试编写时注意for循环语句的括号位置,稍有不慎,会使得结果出现问题。
注意每十个输出的语段,可以记下来,下次使用,可以套用。
由此记录本人的学习过程。