Прежде всего, ваш метод isPrime()
неверен.
Это должно сработать, хотя, вероятно, оно не самое эффективное:
public static boolean isPrime(int n)
{
// Manage easy cases
if (n <= 1)
return (false);
else if (n == 2)
return (true);
else if ((n % 2) == 0)
return (false);
// Check if (odd) number can be divided by something
for (int i = 3; i <= n / 2; i += 2)
{
if ((num % i) == 0)
return (false);
}
// If we get here, we got a prime number
return (true);
} // isPrime
Тогда ваш цикл while
должен выглядеть примерно так:
while(inputFile.hasNext())
{
line = inputFile.nextInt();
if (isPrime(line))
pw.println(line);
}