feed twitter facebook LinkedIn facebook

Java » Generar un número aleatorio

enero 31, 2007 por Víctor Cuervo 31 Comentarios Imprimir Imprimir

Múltiples son las situaciones donde podemos necesitar la generación de un número aleatorio. Sin ir más lejos sería un buen ejemplo a la hora de generar una contraseña.

Java nos proporciona la clase Random dentro de la librería java.util. Dicha clase nos permite generar multiples números aleatorios, independientemente de la naturaleza de estos: int, float, double, long,...

Utilizar la clase es muy sencillo. Lo primero que tenemos que hacer es crear una instancia de dicha clase. Veamos la línea de código:

Random r = new Random();

Posteriormente deberemos de invocar al método nextInt(). Este método ya nos devolverá un número aleatorio.

System.out.println(r.nextInt());

El principal inconveniente de este método es que el número aleatorio dentro del rango comprendido entre 2-32 y 232 . Si lo que queremos es acotar el rango, podemos pasar el límite como parámetro del método .nextInt(valor). En este caso se calculará en el rango desde 0 a valor-1. Es por ello que si queremos trabajar con el valor igual al límite, entonces deberemos de pasar como parámetro valor+1.

De esta manera el código será el siguiente:

int limite=10;
System.out.println(r.nextInt(limite+1));

Visualizar el ejemplo | Descargar el código

tags: ,

Artículos relacionados:

31 comentarios »

RSS feed para los comentarios de esta entrada. TrackBack URI

1 2 3 4
  1. anonimo
    marzo 15, 2007 #

    me sirvio bastante

  2. Arnaldo Martinez
    octubre 15, 2007 #

    hola q tal? genial seria seria si me pueden ayudar! mi pregunta es, Como generar numeros aleatorios en un rango (x,y) don x e y son variables, random() genera desde 0 hasta la semilla que le asignemos.

    gracias

  3. Katzide
    noviembre 6, 2007 #

    Hey yo se como, trata de implementar el método ya que no corre a la primera:

    import java.util.*
    public class Aleatorio extends Random {
    public int nextInt(int inferior, int superior) {
    int i;
    i=nextInt();
    i=inferior+(Math.abs(i) % (superior-inferior+1));
    return(i);
    }
    }

  4. Katzide
    noviembre 6, 2007 #

    Hey yo se como, trata de implementar el método ya que no corre a la primera:

    import java.util.*
    public class Aleatorio extends Random {
    public int nextInt(int inferior, int superior) {
    int i;
    i=nextInt();
    i=inferior+(Math.abs(i) % (superior-inferior+1));
    return(i);
    }
    }

  5. JoelAlberto
    enero 10, 2008 #

    que bien, entonces me podrian ayudar para con esta problematica?
    Realizar un programa que genere 100 números aleatorios exclusivamente -1,0 1 y 2 para que en caso que sea

    -1 deberas imprimir datos de una clase Llamada Futbol (equipos, ganadores, subacampeon etc.)
    0 debe imprimir e instanciar de una clase llamada Béisbol datos en base a dicho tema

    1 imprimir datos de la clase Carreras en relación a la formula 1
    Y por último 2 para imprimir datos de un alumno tomando en cuenta la clase anterior del ejercicio 1

    Usa switch para controlar el tipo de impresión en una clase llamada Examen
    .Mi correo es Joel_ack@hotmail.com, envienmelo si lo lograron, jejej seria muy grato

  6. JESSO AG.
    abril 2, 2008 #

    HOLA ME PUEDEN AYUDAR? REALIZAR UN PROGRAMA DONDE SE SOLUCIONE EL METODO DE GAOS JORDAN UTILIZANDO ARREGLOS PRINCIPALMENTE ME HARIAN UN GRAN FAVOR POR FAVOR AYUDENME..

  7. angy
    abril 12, 2008 #

    hola me pueden ayudar para generar numeros aleartorios q den como opcion 3 palabras constantes , yq reaslicen un juego con lo es el del ahorcado q el usuario adivine y q de acuerdo al tamaño de la palabra q escojio sean las oportunidades admeas de mostrar al usuario la palabra pero con asteriscos y cuando vaya adivinando la letra se vayan destapando pro favoir mil gracias

  8. Camilo Baez
    mayo 11, 2008 #

    No deseas algo mas angy????, posiblemente q te lleve una malteada a la cama mientras ves como hacemos tu trabajo????

  9. rodrigo
    julio 1, 2008 #

    veo que no saben mucho de programacion
    para a prender programacion solo deven ingresar a la pagina
    siguiente donde encontraras todo lo que nesecita un programador

    http://lineadecodigo.com/2007/01/31/generar-un-numero-aleatorio/

  10. Aldo
    octubre 2, 2008 #

    Hola el programa esta muy bien pero tego una duda si yo quiero manda imprimir 100 numeros en un ciclo. nunca se van a repetir los numeros??? en almenos un caso

1 2 3 4

Deja un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*