Verificar as casas decimais de um número

Boa tarde!!

Pessoal, estou fazendo um programa em que eu quero verificar se um número é primo… ((acho que não tem nenhuma classe no Java já pronta que faça isso, néé…??))

Enfim, estou fazendo na mão mesmo. E pra isso preciso verificar se uma divisão deu um número exato, ou seja, um número sem casas decimais…

Por exemplo, seria um if… mas… que condição verifica se uma variável não tem números (fora zeros) nas casas decimais…?

Agradeço desde já,
Dina

Ao invés de dividir, use o operador %, que retorna o resto da divisão de um número por outro.

Se ele der um resultado diferente de 0, é porque o número não pode ser dividido e, portanto, teria casas decimais…

if (num1 % num2 == 0)
      System.out.println("O numero foi dividido sem deixar resto");
else
      System.out.println("Sobrou resto");

tipo

if(2%2 == 0){
  //entao o numero é par.....
}

Até…

Outra dica…

a uns tempos atrás eu fiz esta implementação que mostrava como calcular o n-ésimo primo de uma sequência. Talvez seja útil!

Ela mostra como fazer isso numa thread separada, usando Future e Callables.

oOoOoPPpPSsSs…
Achei que o módulo (%) fosse só em C…

Nem me veio a cabeça tentar no Java…
Mto obrigada novamente pela ajuda de vcs…!
:smiley:

Que show Vini!!!

Vou dar uma olhada!!
:smiley: :smiley:

Mto obrigada!! :wink:

da forma mais simples…

public static void main(String[] args) {
        // TODO code application logic here
        double num = 5.4;
        double resto = num % 1;
         if(resto == 0){
            System.out.println("Nao tem resto");
        }else{
             System.out.println("Tem resto");
        }
    }

Só pela curiosidade acadêmica. Também seria possível fazer isso sem o operador %.

int result = num1 / num2;
int resto = result*num2 - num1;

if (resto != 0)
   System.out.println("Tem resto: " + resto);
else
   System.out.println("Não tem resto");

O segredo está no fato do resultado ser int. Ele trunca a resposta.

Basicamente a conta feita no código é esta:
Resultado = 3 / 2 (atribui 1 ao resultado, que é int)
resultado * 2 = 2
3 -2 = 1 (o resto apareceu!)

Já ouviu falar do crivo de eratóstenes pra descobrir todos os numeros primos de uma lista?

é bem interessante! dê uma olhada!

Aqui tem uma explicação legal:

http://www.numaboa.com.br/criptologia/matematica/testRapid.php

Não sei se serve pra você…

Serve sim…!! Mto interessante mesmo!! :smiley:
:smiley: Mto obrigada…


Agradeço MUITO a todos pela ajuda e pela atenção!!! :smiley:

Até mais!! :wink: