【发布时间】:2014-10-07 00:58:24
【问题描述】:
这是我的代码,不知道出了什么问题!我犯了什么错误?
顺便说一句:此代码中的第一个程序旨在计算小于 1,000 的素数的数量,以避免任何混淆。
public class AnalyzingPrime
{
public static boolean isPrime (int n)
{
if (n==1)
return false;
for (int i = 2; i < n; i++)
{
if (n%i==0)
return false;
}
return true;
}
public static void main (String [] args)
{
int numberofPrimes = 0;
int counter = 0;
int number = 10000;
for (int i = 2; i <= number; i++)
{
if (isPrime(i) == true)
{
counter++;
}
}
System.out.println("There are "+counter+" prime numbers.");
System.out.println("And if you care, the 10,000nth prime number is "+ nthPrime(10000)+".");
}
public static int nthPrime (int n)
{
int i = 0;
int nthcounter = 0;
while (nthcounter <= n)
{
i++;
if(isPrime(i) == true)
{
nthcounter++;
}
}
return nthcounter;
}
}
【问题讨论】:
-
介意分享错误是什么?
-
对于 10000 个素数,您认为 int 最大值就足够了吗?把它改成长!