Programação Prof.: Bruno Rafael de Oliveira Rodrigues.

Post on 17-Apr-2015

108 views 3 download

Transcript of Programação Prof.: Bruno Rafael de Oliveira Rodrigues.

ProgramaçãoProgramação

Prof.: Bruno Rafael de Oliveira Rodrigues

Classe MathClasse Math Java possui constantes pré-definidas e

métodos para executar diferentes operações matemáticas, como, por exemplo, funções trigonométricas e logarítmicas. Como estes métodos são todos static, podemos utilizá-los sem a necessidade de construir um objeto da classe Math.

Alguns métodosAlguns métodos abs(double a) random() max(double a, double b) min(double a, double b) pow(double a, double b) round(double a) sqrt(double a)

ExemplosExemplos

Erros de CálculoErros de Cálculo

Nem todos os cálculos são precisos quando se tratam de números decimais.

Arredondamentos constantes podem prejudicar o programa, que vai acumulando erros.

BigInteger e BigDecimalBigInteger e BigDecimal

Números com precisões ilimitadas. O BigDecimal é uma excelente opção para se tratar com cálculos financeiros.

As operações com o BigDecimalAs operações com o BigDecimal

Use métodos como add, subtract, multiply, pow, etc

Você pode encadear métodos, por exemplo:new BigDecimal("123.4").add(new

BigDecimal("5.6").subtract(new BigDecimal("7.8")))

Equals considera a escala, para comparação numérica use apenas compareTo

new java.math.BigDecimal("2.0").equals(new java.math.BigDecimal("2.00"))

new java.math.BigDecimal("2.0").compareTo(new java.math.BigDecimal("2.00"))

O método setScale arredonda o valor para a quantidade de decimais desejada.

ArredondamentosArredondamentos

HALF_EVEN tende a distribuir de modo uniforme perdas e ganhos ao longo de várias operações HALF_UP tem mais ganhos do que perdas, então o banco pagaria mais do que recebeu

ExemploExemplo

ExercíciosExercícios

1 – Faça um programa que solicite um número ao usuário e ele compara com um número aleatório. (Use o JoptionPane) Obs. O programa deve perguntar ao usuário se ele quer sair sempre depois de uma resposta.

2 – Altere a classe a classe Professor onde calcula o salário bruto e líquido para que possa usar o Bigdecimal ao invés do double.