Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.

Archivo del blog

domingo, 20 de enero de 2013

Generar números aleatorios sin repetición.

En el siguiente ejemplo tenemos una baraja que consta de 10 cartas que vamos a mezclar aleatoriamente para luego mostrarlo en pantalla.


Codigo:

//Números aleatorios sin repetición
package aleatorisinrepeticion;
import java.util.Stack;

public class AleatoriSinRepeticion {
  public static void main(String[] args) {
    int pos;
    int nCartas = 10;
    Stack < Integer > pCartas = new Stack < Integer > ();
    for (int i = 0; i < nCartas ; i++) {
      pos = (int) Math.floor(Math.random() * nCartas );
      while (pCartas.contains(pos)) {
        pos = (int) Math.floor(Math.random() * nCartas );
      }
      pCartas.push(pos);
    }
    System.out.println("Núm. aleatorios sin repetición:");
    System.out.println(pCartas.toString());
  }
}


Resultado:

run:
Núm. aleatorios sin repetición:
[2, 8, 5, 7, 6, 3, 0, 9, 4, 1]
BUILD SUCCESSFUL (total time: 0 seconds)

Con la tecnología de Blogger.