Como escalar números aleatórios para dizer 1-10 sem perder a aleatoriedade?
Eu sei, apenas usar% 10 não é uma boa ideia.
Além disso, preciso de um valor inicial, para poder testar em números determinsíticos,
mas não entendi que valor essa semente deveria ter e eu como isso influencia a sequência.
Existe alguma diferença se é alto ou baixo?
desde já, obrigado.
Respostas:
3 para resposta № 1import java.util.Random;
Random random = new Random( yourSeed );
int randomInt = random.nextInt(10) + 1 ;
o seed
não tem outro propósito senão dar ao PRNG
um ponto de partida. É puramente arbitrário e não influenciará a distribuição dos números aleatórios.
o nextGaussian()
é diferente, pois retorna números de ponto flutuante distribuídos em torno de uma curva de sino.
0 para resposta № 2
normalmente, ao tentar obter um valor aleatório, você usará algo como isto:
public int getRandom( int min, int max )
{
return (int) Math.round( Math.random() % (max - min) + min );
}
Ou, como acabei de lembrar da resposta do Stavr00, use uma das funções internas do java.util.Random