[RESOLVIDO]Verificar se a divisão da um número inteiro
7 respostas
V
VA1
Olá, galera.
Estou com uma dúvida meio que simples (eu acho).
Eu tenho um valor:
floati=3;
Que é dividido por outro
floatj=2;
O resultado dele é:
floatresultado=i/j
Gostaria de saber se o resultado foi um inteiro ou não.
No caso o resultado seria 3/2 = 1,5. Que não seria um valor inteiro
Mas no se fosse 3/3 = 1. Seria um inteiro. (…)
Expliquei muito algo simples, espero que tenham entendido. Desde já, obrigado.
inti=5;intj=2;if((double)i/j==(int)i/2){
System.out.println("É inteiro!");}else{
System.out.println("Não é inteiro!");}
RodrigoKaos
No teu if tem que mudar o b i/2 [/b] pra b i/j[/b]
Boa sorte ae
floata=2f;floatb=1f;floatc=a/b;floatd=a%b;System.out.println(c+", "+d);if(a%b==0){
System.out.println(c+" é inteiro");}else{
System.out.println(c+" não é inteiro");}
G
GabrielMantini
Isso é uma gambiarra né…
Pode usar instanceOf
G
GabrielMantini
RodrigoKaos:
floata=2f;floatb=1f;floatc=a/b;floatd=a%b;System.out.println(c+", "+d);if(a%b==0){
System.out.println(c+" é inteiro");}else{
System.out.println(c+" não é inteiro");}
Não entendi o pq das declarações de floats no inicio, mas o modulo funciona. Bem mais simples
RodrigoKaos
[i]Na primeira parte do post ele tinha colocado como tipo float
As variáveis eram só pra mostrar os valores, pra que eu n precisa-se ficar calculando pq nos testes que fiz aqui fiquei colocando números aleatórios
pq gambiarra?
Como seria o uso com instanceOf
[/i]
G
GabrielMantini
Me parece uma gambiarra pq funciona, mas é meio improvisado, ele faz um cast em cada lado da expressão pra verificar… enfim.
Como ficaria com instanceof? Ué, é só usar instance of. Porém, lembrando que tem que comparar com o wrapper de int
if(xinstanceofInteger){
System.out.println(x+" é inteiro");}
else{
System.out.println(x+" não é inteiro");}
RodrigoKaos
[i]Sei lá, n acho pratico, ficaria preso a casts tbm