Não gerar numeros repetidos

[b][color=orange]olá, como eu faço para gerar uma sequencia de numeros e q eles naum saiam repetidos ???
eu tentei gerar e ir comparando mas ele gerou repetido mesmo assim.

fiquei sabendo que tem uma classe em java q da pra gerar numeros sem ser repetidos, mas como fazer ? pode me mandar um exemplo explicado por favor ?

muito obrigada !!![/color][/b]

posta o codigo q vc fez onde vc compara e vamos ver aonde vc cometeu algum engano.

o codigo com comparação é pouco eficiente para numeros muito grandes, vc pode tentar um algoritmo para embaralhar um array sequencial, por exemplo.

Olha, existe uma classe chamada Random do pacota java.util. Ela consiste em uma classe que gera números aleatorios, mas não sei se ela própria ja exclui os números repetidos.

Para gerar números, sem ser repetido basta fazer um for simples

int[]ger= new int[20];
for(int i = 0; i < 20; i++){
ger[i] = i+1;
}

esse for gera valores de 1 a 20.

Agora basta você desenvolver uma função para embaralhar os números, se for necessário.

FLW

for (int i=0;i<20;i++){ ger[i]= (in.floor(Math.random()*20); for (int cont=0;cont<i;cont++){ while (ger[i]==ger[cont]){ ger[i]= (int)Math.floor(Math.random()*20); } } }

esse era o codigo q eu tinha feito mas repete mesmo assim

[quote=StriderMGBR]Olha, existe uma classe chamada Random do pacota java.util. Ela consiste em uma classe que gera números aleatorios, mas não sei se ela própria ja exclui os números repetidos.

Para gerar números, sem ser repetido basta fazer um for simples

int[]ger= new int[20];
for(int i = 0; i < 20; i++){
ger[i] = i+1;
}

esse for gera valores de 1 a 20.

Agora basta você desenvolver uma função para embaralhar os números, se for necessário.

FLW[/quote]

a classe Random gera numeros repetidos…e n exlcui os mesmo!!

O problema que você está tendo é mais na hora de montar o algoritmo do que na linguagem.

Você tem que fazer o seguinte:

  • Crie um array vazio com o número de elementos da sua lista.
  • Coloque um laço para contar quantos elementos já foram processados. Este laço vai executar até que todos os elementos do array sejam preenchidos.
  • Para cada iteração do laço você gera um número aleatório
  • Verifique se o número gerado no passo anterior não existe no array. Se não existir adicione-o ao array. Se já existir você gera um outro número aleatório.

Agora é só implementar.