Ir ao conteúdo

JAva numeros aleatorios sem repetir


FilipiBh

Posts recomendados

Postado

1) problema

bom pessoal, o que eu quero é o seguinte gerar 6 numeros aleatorios armazenando em um vetor utilizando a classe random,porém estes 6 numeros devem ser distintos ou seja não podem repetir entre si.

2) o primeiro desafio seria a logica!

pensei o seguinte, vou gerar um numero verificar se ele ja existe no vetor se não existe eu adiciono ele no vetor se existir ele gera um numero até que este numero seja diferente do numero que ja tinha no vetor

3)decepção implementei o que eu acho que está certo mas não funciona de forma satsifatoria alguem pode me explicar se meu erro é de logica ou se de implementação?

import java.util.Random;

public class Main

{

public static void main(String[] args)

{

Random random =new Random();

int vet[]=new int[6];

for(int i=0;i<vet.length;i++)

{

int num=random.nextInt(6);//gera numero aleatorio

for(int j=0;j<vet.length;j++)

{

while (num==vet[j]) //enquanto numero for = a qualquer posição do vetor

{

num=random.nextInt(6);//gera outro

}

}

vet=num;

System.out.println(vet);

}

}//fecha void

} //fecha classe

Postado

É a lógica que está errada. A partir do momento que você está mudando o número dentro do while, está abrindo precedente para ele ser igual a um número já testado.

Dica: se mudou o número, volte a comparar o vetor desde o 1o. elemento. E processe só até o ultimo elemento gerado, senão não vai dar certo.

JP

  • 2 semanas depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...