1.4 CLASE MATH

 

La clase Math ya viene incluida en nuevas versiones de Java, por lo que no habrá que importar ningún paquete para ello.

Para utilizar esta clase, debemos escribir Math.método(parámetros); donde método será uno de los siguientes y parámetros aquellos que tengamos que usar. Un método puede estar sobrescrito para distintos tipos de datos.

Recuerda que si almacenas el resultado de la función, debe coincidir con el tipo de la variable.

Algunos de los métodos más comunes:

  • abs(x): Devuelve el valor absoluto de x.
  • ceil(x): Devuelve el entero más pequeño que es mayor o igual a x.
  • floor(x): Devuelve el entero más grande que es menor o igual a x.
  • max(x, y): Devuelve el mayor de x e y.
  • min(x, y): Devuelve el menor de x e y.
  • pow(x, y): Devuelve x elevado a la potencia de y.
  • random(): Devuelve un número aleatorio entre 0 y 1.
  • round(x): Devuelve el entero más cercano a x.

  • sqrt(x): Devuelve la raíz cuadrada de x.

Vemos algunos ejemplos:

public class Uso_Math {

 

       public static void main(String[] args) {

             double operador1=25.5;

            

        double operador2=15.21;

        

        System.out.println(Math.ceil(operador1)); // Devuelve 26.0

       

        System.out.println(Math.floor(operador2)); //Devuelve 15.0

       

        System.out.println(Math.pow(operador1, operador2)); // Devuelve 2.474435537975361E21

       

        System.out.println(Math.max(operador1, operador2)); //Devuelve 25.5

       

        System.out.println(Math.sqrt(operador1)); ////Devuelve 5.049752469181039

 

       }

 

}

Para poder generar números con el método Math.random, por defecto sería, Math.random(), con este método podemos generar números aleatorios, en principio seria entre 0 y 1, pero esto lo podemos cambiar para que genere un número entre un rango que nosotros deseemos. Para generar un número entre 0 y el número que deseemos, debemos escribir *num_deseado, por ejemplo, Math.random()*30, esto genera números entre 0 y 30, este último no se incluye, el máximo sería 29,9999…

Para generar un número entre un número que deseemos a otro, debemos escribir *(num_minimo-num_maximo)+num_maximo, por ejemplo, Math.random()*(5-20)+20. 

Un buen truco, para recordar esto es multiplicar por 0 para saber el mínimo y por 1 para el máximo. Por ejemplo, en el ejemplo anterior, el mínimo seria 5, ya que 0*(5-20)+20 daría como resultado 5, y el máximo seria 20, ya que 1*(20-5)+5 daría como resultado 20. Por último, haremos que el número generado sea un número entero en lugar de uno de coma flotante, para ello escribimos (int)Math.floor(Math.random()*(num_maximo-num_minimo)+num_minimo). Recordar que en lugar de números podemos usar variables. Veamos unos ejemplos:

public class Uso_Math {

 

       public static void main(String[] args) {

        int num1=50;

        int num2=120;

 

        System.out.println("Números generados entre 0 y 20, con decimales (sin incluir el 0 y el 20)");

        for (int i=0;i<1000;i++){

            double numAleatorio=Math.random()*20;

            System.out.println(numAleatorio);

        }

 

        System.out.println("Números generados entre 5 y 20, con decimales (sin incluir el 5 y el 20)");

        for (int i=0;i<1000;i++){

            double numAleatorio=Math.random()*(20-5)+5;

            System.out.println(numAleatorio);

        }

 

        System.out.println("Números generados entre 50 y 120, sin decimales (sin incluir el 50 y el 120)");

        for (int i=0;i<1000;i++){

            int numAleatorio=(int)Math.floor(Math.random()*(num1-num2)+num2);

            System.out.println(numAleatorio);

        }

 

                System.out.println("Números generados entre 50 y 120, sin decimales (incluyendo el 50 y el 120)");

        for (int i=0;i<1000;i++){

            int numAleatorio=(int)Math.floor(Math.random()*(num1-(num2+1))+(num2));

            System.out.println(numAleatorio);

        }

    }

 

}


1.3.3 Constantes << >> 1.5 CLASE STRING



No hay comentarios:

Publicar un comentario