Próbuję napisać program do sprawdzania liczb pierwszych. Program prawidłowo pobiera dane, ale "zacina się" podczas ich sprawdzania. Z góry dziękuję za pomoc.
import java.util.Scanner;
public class LiczbyPierwsze {
public static void main(String args[]) {
// pola
int n = 1;
int cyfra = 0;
Scanner nOdczyt = new Scanner(System.in);
Scanner cyfraOdczyt = new Scanner(System.in);
System.out.println("### Sprawdzanie liczb pierwszych. ###");
System.out.println("Podaj liczbę testów, które chcesz przeprowadzić.");
// tworzenia tablicy liczb, które chcemy sprawdzić
n = nOdczyt.nextInt();
int tab[] = new int[n];
for(int i = 0; i < tab.length; i++) {
cyfra = cyfraOdczyt.nextInt();
tab[i] = cyfra;
}
// sprawdzanie czy liczba jest pierwsza
int p = 2;
for(int i = 0; i < tab.length; i++) {
if(tab[i] == p) System.out.println("TAK");
else {
if(tab[i] % p == 0) System.out.println("NIE");
else p++;
}
}
}
}