. Então gente, eu tenho uma matéria chamada PABD, que utiliza o netbeans pra gerar programas que necessitam de banco de dados. Estou com um probleminha, que preciso implementar um programa e preciso usar o comando RANDOM para gerar números aleatórios. Nunca usei esse comando e não sei como funciona realmente… ajudas ?
Cuidado, esse tipo de chamada inline não é muito adequada:
x=newRandom().nextInt(5);
O ideal é mesmo criar o objeto random uma única vez, numa variável estática:
publicstaticRandomRND=newRandom();
E depois chamar através dela:
x=RND.nextInt(5);
Isso evita que loops usando o random gerem exatamente o mesmo número.
ViniGodoy
O random não gera números sem repetição. O post mesmo diz que é necessário criar uma lógica para eliminar duplicatas. Na verdade, se precisar de números sem repetição, basta fazer o seguinte:
Gere uma coleção com os números que podem ser sorteados:
List<Integer> numeros = new ArrayList<Integer>();
for (int i = 1; i <= 60; i++) {
numeros.add(i);
}
Use o método Collections.shuffle para embaralhar a lista:
Collections.shuffle(numeros);
Agora basta pegar a quantidade de números que você quer:
System.out.println("Os números sorteados são:");
for (int i = 0; i < 6; i++) {
System.out.print(numeros.get(i) + " ");
}