Ajuda com Divisão e exceções

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…

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

[quote=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…[/quote]

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/

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