您的条件应为i * i <= num
private static boolean isPrime(int num) { if (num == 2) return true; if (num < 2 || num % 2 == 0) return false; for (int i = 3; i * i <= num; i += 2) if (num % i == 0) return false; return true;}您未考虑数字9,因此9 <9将导致错误。但是您需要检查9。



