Como faço para retornar um float da divisão de dois inteiros?
Estou fazendo assim:
float soma = 0;
soma = soma + (10/30);
O resultado em soma é 0, pq?
Outra dúvida:
Estou fazendo um trabalho e usei todos os métodos e classes como públicos, e funcionou normalmente sem o uso do static. Em que mudaria se eu usasse o static junto com o public?
assim retornaria o 0.33333334,
alguem me corrija se eu estiver errado o/ blz?
int dividido por int sempre vai dar int
se você dividir int por um float, você terá um float
ou seja
10/30.0 retorna 0.33333334 e 10/30 retorna 0, porque somenta a parte inteira importa para a divisão de int por int…
você poderia fazer assim:
intx=Float.parseFloat(30);soma+=10/x;
e sobre os métodos, um método public static, além de ser static ele é público, ao menos ao meu ver…
pessoal, se falei algo errado por favor me corrijam também sou iniciante em java =p
C
cassio
vc pode forçar que o resultado da divisão de dois inteiros seja um double fazendo cast…
inta=10;intb=3;doublec=((double)a)/b;
Abraço!
D
Deh
cassio:
vc pode forçar que o resultado da divisão de dois inteiros seja um double fazendo cast…
inta=10;intb=3;doublec=((double)a)/b;
Abraço!
como o inicjava queria um Float só trocar
ao invés de double… só colocar pra fazer o cast com Float o//
floatc=(float)a/b;
valeu! espero ter ajudado o/
F
FredMP
public, private e protected dizem respeito a visibilidade da classe, do método ou da variável, enquanto static torna o membro pertencente a classe. Ou seja, vc não precisa de uma instância para utilizar o método, ex:
Integer.parseInt(minhaString);
O método parseInt da classe Integer é estático, vc pode usá-lo sem ter um objeto da classe instanciado (pode usar o nome da classe e o operador ponto). Quando se trata de variáveis estáticas todos os objetos instanciados compartilharão o valor daquela variável, só haverá uma cópia daquela variável para todas as instâncias daquela classe. Lembrando que não há problema algum em usar uma instância da classe pra acessar o membro estático.
C
cassio
Deh:
cassio:
vc pode forçar que o resultado da divisão de dois inteiros seja um double fazendo cast…
inta=10;intb=3;doublec=((double)a)/b;
Abraço!
como o inicjava queria um Float só trocar
ao invés de double… só colocar pra fazer o cast com Float o//
floatc=(float)a/b;
valeu! espero ter ajudado o/
Besteira usar float, double tem maior precisão… Já existem erros de arredondamento com double, imagine com float… As máquinas atuais têm memória suficiente para isso
Abraço!
L
LPJava
inicjava:
Como faço para retornar um float da divisão de dois inteiros?
Estou fazendo assim:
float soma = 0;
soma = soma + (10/30);
O resultado em soma é 0, pq?
Outra dúvida:
Estou fazendo um trabalho e usei todos os métodos e classes como públicos, e funcionou normalmente sem o uso do static. Em que mudaria se eu usasse o static junto com o public?
Valeu pessoal!
simples parceiro ele ta imprimindo apenas a parte inteira 0 sendo que o resultado eh 0.!! coloque:
[code]
System.printf("%0.2f", soma);
[code]
e veja se o resultado no sai preciso!!
C
cassio
camilolopes:
inicjava:
Como faço para retornar um float da divisão de dois inteiros?
Estou fazendo assim:
float soma = 0;
soma = soma + (10/30);
O resultado em soma é 0, pq?
Outra dúvida:
Estou fazendo um trabalho e usei todos os métodos e classes como públicos, e funcionou normalmente sem o uso do static. Em que mudaria se eu usasse o static junto com o public?
Valeu pessoal!
simples parceiro ele ta imprimindo apenas a parte inteira 0 sendo que o resultado eh 0.!! coloque:
[code]
System.printf("%0.2f", soma);
[code]
e veja se o resultado no sai preciso!!
Não é por mal não Camilo, mas isso que vc disse não tem muito haver não... O printf apenas oferece máscaras para facilitar a impressão formatada, porém não resolve o problema do nosso colega...
Sempre que dividirmos um inteiro por outro, teremos como resultado outro inteiro. Você pode até guardar o resultado em um double (que é exatamente o que ele estava fazendo), porém caso haja algarismos significativos após a virgula, eles serão truncados no resultado. Para evitar isso, só mesmo fazendo um cast da divisão antes de jogar o resultado no double ou float :)
Abraço!
L
LPJava
entendi que ele queria ter a precisao apos a virgula!!