Random sem repetir números

3 respostas
F

Olá pessoal, estou com um problema eu preciso fazer um random mais q não repita o mesmo número!!!

preciso disso para embaralhar os JButons de um jogo de memória que estou fazendo na faculdade!!!

se alguém poder ajudar fico agradecido!!!

3 Respostas

C

Faca o seguinte…

vamos supor que tu quer 15 número diferentes certo ?

  • crie um array de 15 posicoes;
  • crie um metodo que gere os seus numeros randomicos;
  • a cada chamada desse método, ele retornara um número gerado;
  • a cada número retornado tu compara com os que estao no array;
  • se for igual, tu discarta ele, se for diferente, entao tu add ele;
  • faco isso ate tu encher todas as posicoes.

OK ?

S

Melhor criar um ArrayList e o random variando até o size() dele.
Toda vez que gerar o número, remove ele do ArrayList.

F

olá pessoal, como eu havia pedido uma solução para fazer um Randon sem repetir números ai vai o algoritimo q fiz para esse problema

ranArray[0]=(int)(Math.random()*tamArray); for(i=0; ((tamArray-1)>i); i++){ num=(int)(Math.random()*tamArray); for(j=0; (j<(tamArray)); ++j){ if(num==ranArray[j]){ num=(int)(Math.random()*tamArray); j=-1; } } ranArray[i]=num; }
espero ajudar mais alguém com isso!!!

OBRIGADO
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Ratinho[/color][/size] :joia:

Criado 29 de junho de 2006
Ultima resposta 3 de jul. de 2006
Respostas 3
Participantes 3