| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2011 09:45:50
|
JhowTroMundo
JavaTeenager
![[Avatar]](/images/avatar/d01345dc409133f6b3600e648f0a74fa.jpg)
Membro desde: 15/09/2009 02:33:50
Mensagens: 165
Localização: São Paulo
Offline
|
Por que esse codigo...:
tem esta saida...:
1.0
1.0
1.6666666666666667
???
Não vejo razão.
|
The more men talk, the less they think. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2011 10:16:32
|
Ziguifrid
Debugger
Membro desde: 05/04/2009 10:55:56
Mensagens: 55
Offline
|
Tenta colocar um static no segundo public double.
http://www.guj.com.br/articles/121
This message was edited 1 time. Last update was at 03/01/2011 10:27:13
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2011 10:50:02
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
A divisão de 2 inteiros sempre retorna um inteiro. Sempre.
No método 'get' você divide 5 por 3. São dois inteiros. Portanto o resultado é 1 e o resto é 2.
No método 'get2' você faz o mesmo e armazena o resultado em um double. Note que o valor da variável também será 1.
Quando você faz isso:
Você está fazendo um cast do 5 para double e depois dividindo por 3. É o mesmo que fazer isso:
Como um dos operadores é double, o resultado também é um double (no caso, 1.666666666667).
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2011 10:52:49
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
Depois de entender o que eu disse acima, pense (sem compilar!) no que seria impresso com a seguinte linha:
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2011 11:11:44
|
mews
Debugger
![[Avatar]](/images/avatar/acf51b91988032899d0bbaf8a6130e53.jpg)
Membro desde: 28/03/2009 06:45:07
Mensagens: 59
Offline
|
exatamente como o nosso amigo marcobiscaro2112 disse.
Por mais que o retorno do seu método seja double, a operação está sendo feita entre dois número inteiros.
Uma forma seria criando uma variável double e atribuindo a ela um valor e em seguida realizar o cálculo utilizando as variáveis criadas.
Outra forma, mas não tão correta seria fazer da seguinte forma:
...onde o "d" após o número indica que esse é do tipo double;
|
Ajudar os outros é viciante!
Willian Mews
Analista de Desenvolvimento
Estudante de Engenharia da Computação |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2011 11:20:31
|
JhowTroMundo
JavaTeenager
![[Avatar]](/images/avatar/d01345dc409133f6b3600e648f0a74fa.jpg)
Membro desde: 15/09/2009 02:33:50
Mensagens: 165
Localização: São Paulo
Offline
|
marcobiscaro2112 wrote:Depois de entender o que eu disse acima, pense (sem compilar!) no que seria impresso com a seguinte linha:
Hmmmm
Agora sim vejo razão.
O cast vale apenas para o 5, e não pro resultado da divisão 5/3, que é o caso do seu exemplo (que também resultaria em 1.0).
Muito obrigado pelo esclarecimento.
|
The more men talk, the less they think. |
|
|
 |
|
|