You are on page 1of 2

APUNTES JAVA NMEROS ALEATORIOS Considere el siguiente enunciado: double valor1 = Math.

random(); La funcin random de la clase Math genera un valor double entre 0 y 1, random produce valores al azar, todos los valores de dicho intervalo tienen la misma oportunidad (o probabilidad) de ser escogidos cada vez que se invoca random. El intervalo de valores que random produce directamente a menudo es diferente del que se necesita en una aplicacin especfica. Por ejemplo. Un programa que simula el lanzamiento de una moneda podra requerir slo 0 para cara y 1 para cruz. Un programa que simula el lanzamiento de un dado ordinario requerira enteros aleatorios dentro el intervalo de 1 a 6. Las siguientes instrucciones generan los siguientes resultados: (int)(Math.random() * 2) //produce los enteros 0 y 1 (int)(Math.random() * 3) //produce los enteros 0 , 1 y 2 (int)(Math.random() * 6) //produce los enteros 0 a 5 1 + (int)(Math.random() * 6) //produce los enteros 1 a 6 5 + (int)(Math.random() * 6) //produce los enteros 5 a 10 Como demostracin de random, crearemos un programa para simular 20 lanzamientos de un dado e imprimiremos el valor de cada tirada. class Aleatorio { public static void main(String args[]) { int con=0; while (con<20) { //genera un nmero entre 1 y 6 int r=1+(int)(Math.random()*6); //mostramos en pantalla el nmero generado System.out.println(r); con++; } } }

Ejercicios Ejercicio 1. Programa que llena un vector con 10 valores (0 y 1) generados aleatoriamente, y posteriormente visualice los datos del vector. class Generar10 { public static void main(String args[]) { int v[ ]=new int[10]; for(int i=0;i<10;i++) v[i]=(int)(Math.random()*2); for(int i=0;i<10;i++) System.out.println(v[i]); } } Ejercicio 2. Programa que genera 20 nmeros aleatorios entre el rango de A y B, (A y B por teclado). Por ejemplo si A=5 y B=20, entonces se deben generar 20 nmeros generados aleatoriamente entre 5 y 20 import java.util.*; class generar20 { public static void main(String args[]) { Scanner en=new Scanner(System.in); int A=en.nextInt(); int B=en.nextInt(); int v[ ]=new int[20]; for(int i=0;i<20;i++) v[i]=A+(int)(Math.random()*(B-A+1)); for(int i=0;i<20;i++) System.out.println(v[i]); } }

You might also like