我在使用我的代码时遇到了一些麻烦。我试图编写一个方法,它将输出2-10,000的所有素数。我仍然是java的初学者,我不知道如何去做这件事,我知道我会使用二进制搜索方法并循环执行此操作。我试图在我的教科书和在线上阅读我正在阅读的示例;这是我想出的,但它不能正常工作。我不确定这是否完全正确。任何帮助或建议如何去做或解决这个问题将不胜感激。输出素数 - Java
public static void prime() {
int i; // variable for loop
for(i=2; i<=10000; i++)
{
int factors =0;
int j = 1;
while(j<=i)
{
if(i%j == 0)
{
factors++;
} //End if
j++;
}
if(factors == 2)
{
System.out.println(i);
} //End if
}// End for
} // End method prime
什么让你说它不能正常工作。请提供更多细节。 – sstan
查看相似,回答问题[here] [1]。 [1]:http://stackoverflow.com/questions/2831192/help-with-java-program-for-prime-numbers?rq=1 – spb1994
“但它不能正常工作” - 这不是最有效的方法 - 但算法是正确的,结果是好的。你为什么认为它不起作用? – alfasin