sábado, 18 de junio de 2011

Generación de Números Aleatorios en Java

Este programa genera numeros aleatorios en java. Para eso es necesario incluir la instrucción

import.java.util.Random;
la cual indica que usaremos objetos de la clase Random. Al igual que para generar números 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 paréntesis debe incluirse una semilla, para que se generen números distintos cada vez, sin embargo, en java se toma automáticamente la hora del reloj de la computadora como semilla.
Ya que se generarán números enteros, se declara la variable int numero; y en específico, la instrucción numero = 1 + aleatorios.nextInt(Escala); es la que asigna el número generado a la variable entera numero. La variable Escala se incluye porque, si no se especifíca otra cosa, java genera un número entero entre -2,147,483,648 y +2,147,483,647, lo cual es bastante alejado de la mayoría de las aplicaciones (si simulamos el lanzamiento de un dado, queremos enteros entre 1 y 6). Así, la variable Escala cumple con la función de definir el rango en el que se generarán los números aleatorios. El 1 desplaza los números, ya que java genera entre 0 y (Escala - 1).

El siguiente código debe guardarse con el nombre Aleatorios.java. Las sentencias principales están 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 ejecución del programa genera la siguiente salida:

 1  5  9  3  5                                                                      
 9  3 10  5  1 

31 comentarios:

  1. no se si podrian explicar mas lo que es el codigo ... Graciias!

    ResponderEliminar
  2. Disculpen las molestias pero qisiera pedir ayuda en una parte de mi codigo que no logro resolver... esa parte consiste en que despues de haber generado mis numeros debo verificar que no se repitan!! pleasse pleasse help me!

    ResponderEliminar
  3. Gracias! Enserio muy explicado y me ha servido!. Gracias! :D

    ResponderEliminar
  4. muy buen ejemplo gracias

    ResponderEliminar
  5. Si anónima esta perron ....jajaja XD

    ResponderEliminar
    Respuestas
    1. Verdad que sí. :3

      Eliminar
    2. la mera neta esta bien Kawaii *W*

      Eliminar
  6. ¿Se saben algún otro código en Java?
    Es que es para mi tarea.

    ResponderEliminar
    Respuestas
    1. NO VETE A HACER TU TAREA A OTRO LADO NIÑA ICNORANTE jajaja xD

      Eliminar
    2. Es que me urge, es para un examen mega importante plissss!

      Eliminar
    3. Huy y ademas fresa! sabes no deberias venir a paginas de programadores hechos y derechos jajaja xD

      Eliminar
  7. Me llegó, bueno gracias.

    ResponderEliminar
  8. Deberían explicar mejor el código.

    ResponderEliminar
  9. sii .. no le entiendo esta todo raro.. XC

    ResponderEliminar
    Respuestas
    1. Jaja que tonto pongale 0

      Eliminar
    2. jajaja..Ay si como si el entendieras....

      Eliminar
  10. Me dejas en visto que malo.....
    :`( XC

    ResponderEliminar
  11. Un ejemplo de uso de la regla de la cadena.

    ResponderEliminar
  12. Erasmo de Rotterdam: Elogio de la locura

    ResponderEliminar
  13. Hola alguien esta ahi.......

    ResponderEliminar
    Respuestas
    1. Oye niña yo te conozco, no ocupes este sitio para tus cosas, ok.

      Eliminar
    2. Mira anciano, tu cállate no te metas XD

      Eliminar
    3. Mi sabiduría te gana niña.

      Eliminar
    4. Ay aja anciano "que tonto pónganle 0"

      Eliminar
  14. Respuestas
    1. mm..se me antoja uno... jaja XD

      Eliminar
    2. SII.... Bien tarta para todos....

      Eliminar

Related Posts Plugin for WordPress, Blogger...