NetBeans - Usando o comando random

6 respostas
DandaraRayssa

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

agradecida, desde já :smiley:

6 Respostas

romarcio
int num = (int) (Math.random() * 10);

Nesse caso ele vai gerar um numero de 0 a 9.

Anime

Oi DandaraRayssa,

Da uma olhadinha aqui…http://www.guj.com.br/article.show.logic?id=17

MiguelCP

Você pode usar o Random().nextInt(int a). como abaixo:

x = new Random().nextInt(5);

Olha esse post http://aljug.blogspot.com/2009/05/fazendo-uma-simulacao-da-megasena-em.html

MiguelCP

Você pode usar o Random().nextInt(int a). como abaixo:

x = new Random().nextInt(5);

Olha esse post http://aljug.blogspot.com/2009/05/fazendo-uma-simulacao-da-megasena-em.html

ViniGodoy

Cuidado, esse tipo de chamada inline não é muito adequada:

x = new Random().nextInt(5);

O ideal é mesmo criar o objeto random uma única vez, numa variável estática:

public static Random RND = new Random();

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:

  1. 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); }

  1. Use o método Collections.shuffle para embaralhar a lista:
Collections.shuffle(numeros);
  1. 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) + " "); }

Criado 9 de dezembro de 2010
Ultima resposta 10 de dez. de 2010
Respostas 6
Participantes 5