Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando…
o trecho é o seguinte:
[code] if (a > b) {
divisao = a / b;
if (divisao == XXXX)
System.out.println(“Sao multiplos”);
else
System.out.println(“Nao sao multiplos”);
} [/code]
ali onde coloquei XXXX, queria saber se é possivel colocar algum parametro para verificar se o conteúdo da variável “divisao” é um número inteiro ou decimal…
Posta isso no Guj respostas. Lá é mais rápido pra galera te responder.
Vê se é isso que você precisa:
public static boolean verificarValor(double valor) {
if (valor > Math.floor(valor)) {
return true;
} else {
return false;
}
}
então no seu código você faz assim:
if (a > b) {
divisao = a / b;
if (verificarValor(divisao))
System.out.println("Sao multiplos");
else
System.out.println("Nao sao multiplos");
}
1 curtida
[quote=alexandrer0x]Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando…
o trecho é o seguinte:
[code] if (a > b) {
divisao = a / b;
if (divisao == XXXX)
System.out.println(“Sao multiplos”);
else
System.out.println(“Nao sao multiplos”);
} [/code]
ali onde coloquei XXXX, queria saber se é possivel colocar algum parametro para verificar se o conteúdo da variável “divisao” é um número inteiro ou decimal…[/quote]
Você pode simplificar, utilizando o operador % chamado de módulo, ele te retorna o resto de uma divisão.
Por exemplo:
a = 10
b = 3
resto = 0
resto = a%b
10/3 = 3,333333
resto = 0,333333
então, se resto > 0 essa divisão tem casas decimais, senão essa divisão não tem casas decimais.
Artur Martini
1 curtida
[quote=Artur Martini]Você pode simplificar, utilizando o operador % chamado de módulo, ele te retorna o resto de uma divisão.
Por exemplo:
a = 10
b = 3
resto = 0
resto = a%b
10/3 = 3,333333
resto = 0,333333
então, se resto > 0 essa divisão tem casas decimais, senão essa divisão não tem casas decimais.
Artur Martini
[/quote]
Obrigado Artur, simplificou meu algoritmo e resolveu o problema… 
Obrigado a você também Daniel, a sua dica resolveria também, mas achei mais simples usar o %. 
Olá amigo pelo que entendi do seu código vc quer saber se um número é múltiplo de outro
nesse casso faça assim
if(a%b == 0){
System.out.println("Multiplo");
}else{
System.out.println("Não Multiplo");
}
[quote=Janerson]Olá amigo pelo que entendi do seu código vc quer saber se um número é múltiplo de outro
nesse casso faça assim
[code]
if(a%b == 0){
System.out.println(“Multiplo”);
}else{
System.out.println("Não Multiplo");
}
[/code][/quote]
Foi o que fiz, com a dica do Artur… valeu ae mano 
[quote=alexandrer0x][quote=Artur Martini]Você pode simplificar, utilizando o operador % chamado de módulo, ele te retorna o resto de uma divisão.
Por exemplo:
a = 10
b = 3
resto = 0
resto = a%b
10/3 = 3,333333
resto = 0,333333
então, se resto > 0 essa divisão tem casas decimais, senão essa divisão não tem casas decimais.
Artur Martini
[/quote]
Obrigado Artur, simplificou meu algoritmo e resolveu o problema… 
Obrigado a você também Daniel, a sua dica resolveria também, mas achei mais simples usar o %. :D[/quote]
Fico feliz por ter ajudado.
Att.
Artur Martini
[quote=alexandrer0x]Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando…
o trecho é o seguinte:
[code] if (a > b) {
divisao = a / b;
if (divisao == XXXX)
System.out.println(“Sao multiplos”);
else
System.out.println(“Nao sao multiplos”);
} [/code]
ali onde coloquei XXXX, queria saber se é possivel colocar algum parametro para verificar se o conteúdo da variável “divisao” é um número inteiro ou decimal…[/quote]
pesquisou no google pelo menos?
ou fez o código de cabeça?
não entendi o que vc quer pois na pergunta quer saber sobre inteiro ou decimal
e no código sobre múltiplos…
olhe as regras de matemática primeiro que vai ter uma luz do que seu código precisa ou não fazer
fui
[quote=SnakeMaster]pesquisou no google pelo menos?
ou fez o código de cabeça?
não entendi o que vc quer pois na pergunta quer saber sobre inteiro ou decimal
e no código sobre múltiplos…
olhe as regras de matemática primeiro que vai ter uma luz do que seu código precisa ou não fazer
fui[/quote]
Você chegou a ver que o problema já foi resolvido?
[quote=Artur Martini][quote=alexandrer0x]Sou iniciante em programação, e estou tentando fazer um pequeno código, mas estou apanhando…
o trecho é o seguinte:
[code] if (a > b) {
divisao = a / b;
if (divisao == XXXX)
System.out.println("Sao multiplos");
else
System.out.println("Nao sao multiplos");
} [/code]
ali onde coloquei XXXX, queria saber se é possivel colocar algum parametro para verificar se o conteúdo da variável "divisao" é um número inteiro ou decimal…[/quote]
Você pode simplificar, utilizando o operador % chamado de módulo, ele te retorna o resto de uma divisão.
Por exemplo:
a = 10
b = 3
resto = 0
resto = a%b
10/3 = 3,333333
resto = 0,333333
então, se resto > 0 essa divisão tem casas decimais, senão essa divisão não tem casas decimais.
Artur Martini
[/quote]
A dica é interessante Artur, mas pelo que sei a divisão de inteiros em Java, resulta em um inteiro.
Para se obter um valor fracionário de uma divisão, um dos operadores deve ser double ou float, ex:
int a = 10;
int b = 3;
double r = a / (double) b;
Tendo essa teoria, não podemos garantir que a divisão de 10 por 3 será 3,333333, mas teremos sim um número truncado e para evitá-lo um cast é necessário.