gerando números aleatórios - java
Escrito por meleu em 08 Sep 2009O que eu queria fazer era um bobo jogo de dados. No lançamento de um dado ele me retornaria um valor aleatório entre 1 e 6, inclusive. Aí vai a implementação da classe Dado.
import java.util.Random;
public class Dado {
private int valorDaFace;
private static int seed = 0;
public int getValorDaFace() {
return valorDaFace;
}
public void lançar() {
Random r = new Random(System.currentTimeMillis() + seed++);
valorDaFace = 1 + r.nextInt(6);
} // fim de lançar()
} // fim da classe Dado
O atributo seed é para evitar que quando dois dados sejam lançados um seguido do outro, o resultado seja o mesmo. Em outras palavras, o método System.currentTimeMillis() se chamado muito próximo um do outro, pode retornar o mesmo valor, e isso faria Random gerar o mesmo número. O seed sempre diferente contorna esse problema.