public static int numRandom(int result,int length){
//Result Donde guardo el Resultado Length variable que indica el tamaño de mi numero.
//Array donde guardo los randoms
int[] arrayRandom=new int[length];
//Variable donde genero numeros por separado
int pos;
//Variable donde eligo el Rango de Numeros
int nNums = 9;//En este caso del 1 al 9.
//Creo un objeto Pila
Stack< Integer> pila = new Stack< Integer>();
//For para generar los numeros
for (int i = 0; i < arrayRandom.length; i++) {
//Genero un numero random
pos = (int) Math.floor(Math.random() * nNums+1);
//Lo guardo en el array
arrayRandom[i] = pos;
//Si la pila ya contiene el numero
while (pila.contains(pos)) {
//Vuelvo a generar un numero random hasta que no se repita
pos = (int) Math.floor(Math.random() * nNums);
arrayRandom[i] = pos;
}
//Guardo en el Stack (pila)
pila.push(pos);
}
//y los muestro
//System.out.println("Núm. aleatorios sin repetición:");
System.out.println(pila.toString());
//Lo convierto a un solo numero entero
//Variable para Conseguir decena/centena/ Etc...
int multiplicador = 1;
//Segun el tamaño del numero (length)
for (int i = 1; i < length; i++) {
multiplicador=multiplicador*10;
}
//Convierto el Array de numeros aleatorios en un solo entero
for (int i = 0; i < length; i++) {
//Multiplicando por el mas alto
result += (arrayRandom[i]*multiplicador);
//Decremento el multiplicador
multiplicador = multiplicador/10;
}
return result;
}