【发布时间】:2016-11-06 18:23:43
【问题描述】:
public static void isPrime(int number)
{
for ( int i = 2; i<number ; i ++)
{
if ( number%i!=0 ) {
System.out.println(number + " is not a prime ");
}
else
{
System.out.println(number +" is a prime ");
}
}
结果是:
60 是质数
60 不是素数
60 不是素数
60 是质数
60 不是素数
60 不是素数
60 不是素数
60 不是素数
60 是质数
60 不是素数
60 不是素数
60 不是素数
60 不是素数
60 不是素数
60 不是素数
60 不是素数
我想要的只是它是否是素数;在这种情况下不是。
【问题讨论】:
-
正确缩进你的代码,你应该能更好地看到问题。
-
您只是对每个数字执行一次检查,如果您可以将其除以
i,则立即说一个数字是素数(而不是检查所有其他i)跨度> -
也试着解释你的算法。是什么让您认为它应该给出与您现在得到的结果不同的结果?
-
为什么投反对票?
标签: java