Comando para Sorteio

10 respostas
C111

Existe no Java algum comando para o Sorteio de Números?

10 Respostas

T

Dá um procurada sobre java.util.Random.

Um exemplo simples:
Random random = new Random(); Float f = random.nextFloat();

T

Se você precisa sortear números para um jogo de “sena” ou “loto” (números pequenos, que não se repetem), pode usar Arrays.shuffle. Veja a documentação.

A idéia é preencher um array com os números de 1 a 60 (no caso da sena) ou 1 a 52 (cartas do baralho), e então usar o método de “embaralhar” (shuffle). Então você pega apenas os 6 primeiros, se for fazer um sorteio de sena.

Rapapel

thingol:
Se você precisa sortear números para um jogo de “sena” ou “loto” (números pequenos, que não se repetem), pode usar Arrays.shuffle. Veja a documentação.

A idéia é preencher um array com os números de 1 a 60 (no caso da sena) ou 1 a 52 (cartas do baralho), e então usar o método de “embaralhar” (shuffle). Então você pega apenas os 6 primeiros, se for fazer um sorteio de sena.


Fiquei curioso sobre esse método, mas não achei ele de jeito nenhum.
Na classe Arrays de java.util não tem esse método não. Tem um shuffle em Collections.

T

Hum, é Collections.shuffle. Desculpe eu ter citado o comando de memória.

G

Eu prefiro o Math.random
você determina até os valores máximos por esse método…
Tente usa - lo ele está na lista de metodos de APIs (Math)

luistiagos

Se estiver usando java < 5 use esta porem se vc estiver usando java >= 5 use a classe Random é especifica para isto… para todo o tipo de valores tem um random especifico… e exatamente feita para isto: Sorteio de valores aleatorios… de uma lida na api Randm com certeza ela tem tdo oq precisa…

T

É que quando se fala em sorteios normalmente a pessoa quer algo do tipo “não quero que os números se repitam”. Como java.util.Random não faz isso por si só (ela se comporta como um dado, e como você deve saber, os números que um dado mostra ao ser jogado para o alto podem se repetir), então você pode tratar isso armazenando os resultados já obtidos, ou se a quantidade de valores for pequena, embaralhar e obter os resultados.

Rapapel

(java.util.Random)
Além de gerar números negativos.

Depende da necessidade mesmo.

luistiagos

Bem para este problema de não repetição basta fazer o seguinte: ter um list que contera os numeros sortiados… qdo sortiar um numero verificar se o mesmo encontra na lista caso estiver sorteia outro senao armazena o numero na lista…
talvez não seria o melhor jeito porem é um deles…

C111

Gostaria de fazer um programa com a seguinte logica:

Se o Usuário acertar o numero sorteado então

escreva (Você Acertou)

senão

escreva ("Você errou tente novamente);

Fim
Criado 21 de julho de 2008
Ultima resposta 24 de jul. de 2008
Respostas 10
Participantes 6