Não sei como randomizar um número Double dentro de um intervalo [Resolvido]

4 respostas
Andre_Brito

Oi pessoas, como vão?
Estou com um problema que acredito ser simples para o povo daqui.
Tenho um array de double que colocarei ints e doubles. Nas posições 0, 2 e 4 irão os doubles.
Porém, na posição 0, o valor do double só pode varia entre 0.41 e 0.45. Na posição 2, varia entre 0.92 e 1.00 e na 4 entre 1.22 a 1.30.

Alguém poderia me dar uma idéia de como controlar esses intervalos?

Abraço.

4 Respostas

Andre_Brito

Pensei um pouco e tive a seguinte idéia:
Um inteiro entre os valores pedidos e o mesmo é dividido por 100. É gambi?

dm_thiago

Não sei se entendi muito bem o que você quer, mas do jeito que eu entendi é só criar métodos de acesso para cada posição do seu array. Tipo:

private Double[] aDouble;

public NomeDaClasse ()
{
    aDouble = new Double[5];
}

public void setValorPosiçãoZero(double pZero)  
{
    if (pZero >=0.41 && pZero <=0.45)
        aDouble[0] = pZero;                     
}

Assim, sempre que algum objeto for atribuir um valor ao seu array na posição 0, o valor vai ter que estar entre 0.41 e 0.45. Você também pode fazer o método retornar um boolean, assim poderá retorna true quando conseguir atribuir o valor, e false quando não.

ViniGodoy

public double random(double min, double max) { Random random = new Random(); double interval = max - min; return random.nextDouble() * interval + min; }

Andre_Brito

Ae ViniGodoy.
Isso aí encaixou perfeitamente no meu problema. Valeu cara!
Valeu dm_thiago também!

Abraço!

Criado 9 de abril de 2008
Ultima resposta 10 de abr. de 2008
Respostas 4
Participantes 3