F.4411.316.013 - POEJ/MIXTO/F.
Generation/
Curso JAVA (Online-Nacional) 3ªEd.
Java Bootcamp
Eduardo Corral Muñoz
[email protected]
Clase Math
Índice
_01 La clase Math
_02 Método Random y
Clase Random de java.util
_03 Ejercicios
01
La clase Math
La clase Math
La clase Math de Java incluye muchos métodos y constantes
para operar sobre valores numéricos.
Como la clase System no se puede “instanciar” ni podemos
extenderla (clases hijas)
Sus métodos son estáticos
Se aplican empleando el “prefijo” Math (nombre de clase) seguido
de la operación a realizar (método).
Math.método(valor)
La clase Math
Algunos métodos:
Math.max(x,y)
Math.min(x,y)
Math.sqrt(x)
Math.pow(x,y)
Math.abs(x)
Math.sin(x)
Math.cos(x)
Math.log10(x)
Math.ceil(x)
Math.floor(x)
Math.round(x)
Math.PI
Math.exp(x) (e)
…
API de Java
02
Método Random
Método Random
Genera un número aleatorio (pseudoaleatorio) comprendido entre
0.0 y 1.0. (0.0 <= num < 1.0).
Retorna un valor double
Obtener un número entero aleatorio en un intervalo determinado;
int num = (int)(Math.random() * 101); // 0 .. 100
La generación de números aleatorios nos permite realizar
procesos de cifrado, generación de claves, sorteos …
Clase Random de java.util
Más flexible, nos permite generar números enteros, int y long, y
reales, float y doble.
Tenemos que importar la clase:
import java.util.Random
Hay que “instanciar” el objeto:
Random objetoRnd = new Random();
Clase Random de java.util
Para generar un número aleatorio en todo el rango del tipo:
Int randomInt = objetoRnd.nextInt();
long randomLong = objetoRnd.nextLong();
…
Para generar un número aleatorio un rango de 0 a n:
Int randomInt = objetoRnd.nextInt(n); //n no incluido
Int randomInt = objetoRnd.nextInt(n+1); //n incluido
Para generar un número aleatorio un rango de n a m:
Int randomInt = n + objetoRnd.nextInt(m-n); //m no incluido
Int randomInt = n + objetoRnd.nextInt(m-n+1); //m incluido
Ejemplo
Para obtener un elemento de una matriz de forma aleatoria:
String[] colores = {"azul", "verde", "rojo", "negro", "blanco", "naranja"};
// Math.random()
double doubleRnd = Math.random();
doubleRnd *= colores.length;
int indice = (int) Math.floor(doubleRnd);
System.out.println("Math: " + colores[indice]);
// Random de java.util
Random objetoRnd = new Random();
int randomInt = objetoRnd.nextInt(colores.length);
System.out.println("java.util: " + colores[randomInt]);
03
Ejercicios
La clase Math
Crear una clase que nos permita generar números aleatorios
enteros comprendidos entre 1 y 90 con Math.random.
Crear una clase que nos permita generar números aleatorios
enteros comprendidos entre 1 y 90 con java.util.Random.
Crear una clase que nos permita generar una clave aleatoria la
longitud que indiquemos con java.util.Random.