/*
求100之内有多少个素数,并输出所有素数。
*/
class Demo
{
private Demo(){}
private static Demo instance = null;
private int count = 0;
public static synchronized Demo getInstance()
{
if(instance == null)
instance = new Demo();
return instance;
}
public void judgeSuShu(int integer)
{
if (integer == 2)
{
printFunction(integer+"\tis Su Shu");
this.count++;
return;
}
if ((integer & 0b0000_0001 ) == 0)
//if (integer % 2 == 0)
{
return;
}
int i = 3;
while ( i <= Math.sqrt(integer) )
{
if (integer %i == 0)
return;
else
i += 2;
}
count++;
printFunction(integer+"\tis Su Shu");
}
private void showError(int integer)
{
System.out.println("输入值:"+integer+"必须为大于或等于2的自然数!");
System.exit(0);
}
private void printFunction(Object obj)
{
System.out.println(obj.toString());
}
public int getCount()
{
return this.count;
}
}
class MainClass
{
public static void main(String[] args)
{
Demo d = Demo.getInstance();
for(int i = 2; i <= 100; i++)
{
d.judgeSuShu(i);
}
System.out.println("个数总计:"+d.getCount());
}
}
/*
;
*/
java50题----27求素数
最新推荐文章于 2025-03-21 20:42:09 发布
本文提供了一段Java代码实现,用于找出1到100之间的所有素数,并统计这些素数的数量。该程序通过一个单例模式类`Demo`实现了素数判断逻辑,使用了高效的算法来减少不必要的计算。
488

被折叠的 条评论
为什么被折叠?



