【发布时间】:2014-01-14 21:50:02
【问题描述】:
这是我的isPrime 方法:
private static boolean isPrime(int num) {
if (num % 2 == 0) return false;
for (int i = 3; i * i < num; i += 2)
if (num % i == 0) return false;
return true;
}
我输入isPrime(9),它返回true。方法有什么问题?
【问题讨论】:
-
因为
i*i = 9和9 < 9被评估为false。所以你永远不会进入你的 for 循环,因此你会返回true。
标签: java function methods primes