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…?
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…
V
von.juliano
if(num1%num2==0)System.out.println("O numero foi dividido sem deixar resto");elseSystem.out.println("Sobrou resto");
N
nbluis
tipo
if(2%2==0){
//entaoonumeroépar.....
}
Até…
V
ViniGodoy
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.
D
dina
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…!
D
dina
Que show Vini!!!
Vou dar uma olhada!!
Mto obrigada!!
F
fhsantiago
da forma mais simples…
publicstaticvoidmain(String[]args){// TODO code application logic heredoublenum=5.4;doubleresto=num%1;if(resto==0){System.out.println("Nao tem resto");}else{System.out.println("Tem resto");}}
V
ViniGodoy
Só pela curiosidade acadêmica. Também seria possível fazer isso sem o operador %.
intresult=num1/num2;intresto=result*num2-num1;if(resto!=0)System.out.println("Tem resto: "+resto);elseSystem.out.println("Não tem resto");
O segredo está no fato do resultado ser int. Ele trunca a resposta.