You are on page 1of 3

sbado, 18 de junio de 2011

Generacin de Nmeros Aleatorios en Java


Este programa genera numeros aleatorios en java. Para eso es necesario incluir la instruccin

import.java.util.Random;

la cual indica que usaremos objetos de la clase Random. Al igual que para generar nmeros aleatorios en C++ y en C, para generar numeros aleatorios en java, se requiere introducir una semilla cada vez. En este caso, cuando se cree un objeto = new Random(); en los parntesis debe incluirse una semilla, para que se generen nmeros distintos cada vez, sin embargo, en java se toma automticamente la hora del reloj de la computadora como semilla. Ya que se generarn nmeros enteros, se declara la variable int numero; y en especfico, la instruccinnumero = 1 + aleatorios.nextInt(Escala); es la que asigna el nmero generado a la variable entera numero. La variable Escala se incluye porque, si no se especifca otra cosa, java genera un nmero entero entre -2,147,483,648 y +2,147,483,647, lo cual es bastante alejado de la mayora de las aplicaciones (si simulamos el lanzamiento de un dado, queremos enteros entre 1 y 6). As, la variable Escala cumple con la funcin de definir el rango en el que se generarn los nmeros aleatorios. El 1 desplaza los nmeros, ya que java genera entre 0 y (Escala - 1).

El siguiente cdigo debe guardarse con el nombre Aleatorios.java. Las sentencias principales estn comentadas.

//////////////////////////////////////////////////// /* Este programa genera 10 numeros aleatorios / // entre 1 y 10 mediante un ciclo for / ///////////////////////////////////////////////////*/ import java.util.Random; // Es necesario incluir este paquete // de la API de java

public class Aleatorios { // Abre clase Aleatorios

public static void main(String args[]) { // Abre main Random aleatorios = new Random(); // Se crea un objeto de tipo Random int Tamano = 10; int Escala = 10; // Se generaran 10 numeros aleatorios // entre 1 y 10 // para generar mas, es necesario cambiar // la variable Tamano, // tambien se puede cambiar la Escala // para generar numeros en un rango diferente int numero; for ( int i = 1; i <= Tamano; i++) { // Abre for numero = 1 + aleatorios.nextInt(Escala); // ya que la instruccion aleatorios.nextInt(Escala) // genera numeros entre 0 y 9, se agrega 1 como // factor de desplazamiento para generar numeros // entre 1 y 10 System.out.printf("%3d", numero); System.out.print( (0 == i % 5)? "\n":"" ); // Esta instruccion hace que se de un salto // de linea cada que se imprimen 5 numeros. } } } // Cierra main // Cierra clase Aleatorios

Una ejecucin del programa genera la siguiente salida:

1 9

5 9 3 10

3 5

5 1

Quizs tambin le interese:

/* * Nmeros aleatorios en Java. * * */ import java.util.*; class NumeroAleatorio { private double x1; private int x2; private Random aleatorio = new Random(); public NumeroAleatorio() { generar(); } public double dameDouble() { generar(); return x1; } public int dameEntero() { generar(); return x2; } private void generar() { x1 = aleatorio.nextDouble(); x2 = aleatorio.nextInt(); } } public class Ejercicio04 { //Comienzo del flujo principal del programa. public static void main(String [] argumentos) { NumeroAleatorio z = new NumeroAleatorio(); int x = 10; while(x > 0) { x--; salida("Entero aleatorio: " + z.dameEntero()); salida("Double aleatorio: " + z.dameDouble()); } System.exit(0); } public static void salida ( String cadena ) { System.out.println(cadena); } }
Publi

You might also like