Programação
› Algoritmo › C/C++ › Java
Web
› HTML/XHTML › JavaScript › PHP
Sistema Operacional
› Comandos de DOS › Windows › Linux › Mac/BSD
Office
› Word / Writer › Excel / Calc
Áreas do Site
› Download › Fórum › Blog
|
Classe MathVimos anteriormente como tratar números de vários tipos. Veremos agora, como aplicar conceitos matemáticos mais complexos a nossos processamentos usando a classe Math do pacote Java.lang. A classe Math nos proporciona uma série de operações e constantes matemáticas que são facilmente acessadas estaticamente, ou seja, não precisamos instanciar um objeto para podermos usar seus métodos. Dentro desta classe encontramos vários métodos e categorizamos os mais utilizados da seguinte forma:
ConstantesA classe Math possui duas constantes que são o Π (pi) e E (base de logaritmos naturais ou neperianos) cada uma com o valor de 3,141592653589793 e 2.718281828459045, respectivamente. Abaixo está um exemplo simples com o cálculo do comprimento do círculo: public class ComprimentoCirculo { public static void main(String[] args) { float raio = 2.4f; double comprimento = 2 * raio * Math.PI; System.out.println(comprimento); } } Máximo e MínimoComo o título já sugere, a classe Math de Java possui dois métodos que retornam o maior e o menor valor de seus argumentos. Esses métodos são public class MenorMaior { public static void main(String[] args) { float precoProdutoA[] = { 11.2f, 15.12f }; float precoProdutoB[] = { 19.7f, 20 }; System.out.println("O maior preço do produto A é " + Math.max(precoProdutoA[0], precoProdutoA[1])); System.out.println("O menor preço do produto B é " + Math.min(precoProdutoB[0], precoProdutoB[1])); } } Potências e raízesPodemos fazer cálculos de potência e raízes com facilidade usando os métodos disponíveis em Math.
public class PotenciasRaizes { public static void main(String[] args) { System.out.println("1 MB tem " + Math.pow(2, 10) + " KB"); System.out.println("A raiz quadrada de 121 é " + Math.sqrt(121) + " e a raiz cúbica de 1331 também é " + Math.cbrt(1331)); } } LogaritmoNa classe Math encontramos funções para cálculo de logaritmo natual, na base de 10 e a soma do número mais 1. Tais métodos são:
public class Exemplo { public static void main(String[] args) { float nr = 0.1f; System.out.println("Resultado 1: " + Math.log(nr+1)); System.out.println("Resultado 2: " + Math.log1p(nr)); } } Arredondamentos e Valores AbsolutosExistem algumas formas de arredondar um número fracionado (float e double) transformando-o em um número inteiro e também como obter o valor absoluto de qualquer número..
public class Exemplo { public static void main(String[] args) { float nr = -5.75f; System.out.println("Absoluto: " + Math.abs(nr) + "\nInteiro mais baixo: " + Math.ceil(nr) + "\nInteiro mais alto: " + Math.floor(nr) + "\nDouble mais próximo: " + Math.rint(nr) + "\nArredondamento: " + Math.round(nr)); } } TrigonometriaA maior parte dos métodos encontrados na classe Math são trigonométricas, o que ajuda muito em cálculos mais complexos que envolvem figuras.
public class Hipotenusa { public static void main(String[] args) { double ponto1 = 30; double ponto2 = 40; System.out.println("A distancia entre o " + ponto1 + " e o " + ponto2 + " é " + Math.hypot(ponto1, ponto2)); } } Números RandômicosOs números randômicos são obtidos usando o método O método Para conseguirmos um valor limite ou um alcance (comumente chamado de range) delimitado, devemos fazer pequenas operações matemáticas. Essas operações são simples e podem ser resumidas da seguinte maneira.
Por exemplo, se quisermos que um número randômico sempre fique entre 5 e 10, procederíamos da seguinte maneira: O menor número possível é 5, portanto ele será nosso start value ou limite inferior. O maior número possível é 10, então 10 será nosso limite superior. Como temos ambos os limites (inferior e superior) devemos criar um alcance (range). Para obtermos isso, subtrairemos o limite superior com o limite inferior (10-5=5). public class Exemplo { public static void main(String[] args) { int limiteInferior = 5; int limiteSuperior = 10; int alcance = limiteSuperior - limiteInferior; double nrRandomico = Math.random(); System.out.println("O número randômico escolhido entre 5 e 10 foi " + Math.round(limiteInferior + nrRandomico * alcance)); } }
Páginas Relacionadas |
Enquete
|