[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 ?
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.
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.