Ajuda com Divisão e exceções

3 respostas
J

por que, quando faço

double x = 10 / 3;

ele me retorna 3.0, mas deveria ser 3.3?

Outra coisa, como descobrir qual exceção um método pode gerar?

Obrigado…

3 Respostas

gpd38

tenta fazer essa divisao com 10.0 / 3.0

double x = 10.0 / 3.0; //ou double x = ( 10 / 3 ) * 1.0;

Usa um try catch

Try{ //Codigo }catch(Exception e){ System.out.println(e); }
Nao é so assim, existem outras formas, mas esta me ajuda bastante

davidbuzatto

javamail:
por que, quando faço

double x = 10 / 3;

ele me retorna 3.0, mas deveria ser 3.3?

Outra coisa, como descobrir qual exceção um método pode gerar?

Obrigado…

R1: pq os dois operandos são inteiros.
R2: Para “descobrir” a excessão, basta você dar uma olhada na documentação http://download.oracle.com/javase/6/docs/

blackfalcon

O mais interressante amigo, é que dificilmente voce vai utilizar isso em um projeto comercial.

1 - Double e Float gerao divisoes erradas, dai voce vai procurar por BigDecimal.

2 - Nao sei se é possivel fazer com tipos primitivos sem criar um objeto de outra classe e tals, mas tipo, em projetos voce vai precisar definir uma escala depois do ponto (1.99, por exemplo). As vezes com os primitivos nao consegue, ja com BigDecimal isso é facil se fazer.

Tipo, sei que tu ta aprendendo entao estou so dando dicas ta, assim como eu aprendi isso depois vi que nao serviria para mim hehe

Da uma procurada num link que eu postei aqui sobre as divisoes erradas do tipo primitivo, voce vai entender o porque de nao utilizar double futuramente.

Abraços

Criado 26 de agosto de 2010
Ultima resposta 27 de ago. de 2010
Respostas 3
Participantes 4