Duvida de Achar numero primos[Resolvido]

não esta dando certo o meu programa para dizer se um número é primo ou não

[code]
//3.7 Dizer se um número é primo
public class Primo
{

public Primo(){    
}

public  void executar(int num){
    if((num % 1) && (num % num)){
         System.out.println("É primo: "+num);
        }
        else{
            System.out.println("O número "+num+" não é primo");
        }
    }
}[/code]

ta dando erro de operação
diz assim “operator && cannot be applied to int, int”

Não entendi sua expressão. Qual é a sua definição de primo?

se o número que eu entrar num for if((num % 1) && (num % num)) ai eu coloquei && para que só entre no if caso as duas situações sejam satisfeitas

a % b retorna o resto da divisão de a por b. Por exemplo, 10 % 3 retorna 1.

Para saber se a é divisível por b, você tem de usar (a % b == 0).

OK?

Além disso você tem um problema de lógica. Do jeito que está escrito aí, qualquer número vai passar - experimente com o número 10, que você e eu sabemos que não é primo, já que é 2 vezes 5.

beleza
mais tem um problema
todos os numeros que eu digito da primo agora

A definição de primo é “um número que é divisível APENAS por 1 e por si mesmo.”

Então você precisa testar todos os números, de 2 até N - 1, para ver se algum deles divide o número N. Se algum deles dividir, então o número não é primo.

Todos os números são divisíveis por si e por 1. (exceto 0, er)
Os primos só dividem por isso, e os compostos tem além destes, outros divisores, sacou?
É só testar os divisores.

metodo ehPrimo (numero) { numero maior que 0 ? não, retorna FALSO ou gera exceção de valor inválido sim, temp = numero -1 loop: enquanto temp maior que 1 numero dividido por temp tem resto igual a zero ? sim, retorna FALSO ou gera exceção de valor não é primo nao, temp igual a temp -1 fim do loop retorna VERDADEIRO }

Tem também o Crivo de Eratóstenes