[ Foro de Java ]
Mi profe de programación me pidió un programa para detectar si un número es primo o no, así que hice este código:
public static void main(String[] args) {
int num, cont=0, div;
Scanner lector= new Scanner(System.in);
System.out.println("Numero: ");
num=lector.nextInt();
div=num;
if(num%2==0 && num!=2 || num%3==0 && num!= 3)
{
System.out.println("El número no es primo");
}
else
System.out.println("El número es primo");
}
Mi pregunta es: ¿Saben si la evaluación "if(num%2==0 && num!=2 || num%3==0 && num!= 3)" para saber si es primo o no, es matemáticamente correcta?
No es correcta. También puede ser divisible entre 5, 7, 11... Debes emplear un bucle, típicamente un "for".