Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Adivinhar como?

Não entendi, o exercício pede para consultar a documentação e encontrar um tipo que ajudaria a resolver casos como o arrendondamento do double e ainda diz que é intuitivo. Bom eu não consegui chegar nessa adivinhação/conclusão. Na resposta do exercício é que diz que posso usar o BigDecimal, mais como eu poderia chegar a essa conclusão através da documentação?

4 respostas
solução!

Opa! Tudo certo, Elias? =)

Quando pedimos para consultarmos a documentação, nos referimos aos JavaDocs, por exemplo... Nesse caso, se você procurar nas classes do Java, encontrará uma chamada de Number, da qual todos números que conhecemos herdam.

Se você olhar logo no começo desse link acima, você verá uma parte escrita "Direct Known Subclasse", com referência para as seguintes classe:

  • AtomicInteger;
  • AtomicLong;
  • BigDecimal;
  • BigInteger;
  • Byte;
  • Double;
  • Float;
  • Integer;
  • Long;
  • Short.

Legal, temos várias classes, agora precisamos "adivinhar" qual pode substituir o Double, quando precisamos de muita precisão...

Sabemos que as três últimas são utilizadas para representação de número inteiros, com mais ou menos casas, então podemos eliminar esses casos.

O Byte, bom... Representa um byte, então também está fora.

Double é justamente a classe que identificamos o problema, e Float tem menos precisão ainda...

Ficamos somente com as quatro primeiras classes, AtomicInteger, AtomicLong, BigDecimal, BigInteger... Aqui você consegue eliminar tudo, só olhando para o nome das classes... Três delas contém Integer ou Long no nome, o que sugere que tratam de número inteiros, não decimais, como queremos. Aí fica fácil ver que a classe que podemos utilizar é a BigDecimal, sacou? =)

Espero ter ajudado, mas qualquer dúvida não deixe de postar por aqui para que possamos ajudá-lo!

Abraço e bons estudos,

Fábio

Perfeitamente Fábio, ótima resposta. Realmente se partirmos para a super classe realmente podemos deduzir, acho que o que está me faltando é vivencia com a linguagem e com a documentação.

Obrigado pela resposta

Elias,

Sem problemas. No começo é meio complicado de pegar tudo, mesmo. Rs...

Dois sites que vão lhe ajudar muito no começo são o JavaDoc e o Stack Overflow. Mas você raramente vai acessá-los diretamente...

Sempre que quiser procurar algo na documentação procure no Google pelo que você ver e adiciona "JavaDoc". Por exemplo, se quiser saber um pouco mais sobre a classe BigDecimal, vai no Google e digita: BigDecimal JavaDoc. O primeiro resultado já deve ser esse da Oracle falando sobre a API. =)

E sempre que tiver alguma dúvida, por exemplo, de alguma Exception que foi lançada, dá uma Googlada, também... Assim: NullPointerException at.... Você coloca o que está aparecendo no seu console e uma das primeiras páginas deve ser do Stack Overflow. =)

Abraço e bons estudos,

Fábio

Elias, Tive a mesma dúvida que você. E Fábio, muito obrigado pela dica, realmente foi de grande ajuda. Eu mesmo só sabia de olhar no Google e com isso ficava meio perdido. Agora vejo o quanto de conteúdo tem nesse javaDoc. E principalmente ao implementar outras Classes. Parabéns e sucesso a todos