Witam
Mam mały problem musze wylosowac liczby z przedziału
-0.04 do 0.6
i zastanawiam sie jak to zrobic
(-a,b) oraz [-a,b]
Mógłby mi ktoś pomóc??
Witam
Mam mały problem musze wylosowac liczby z przedziału
-0.04 do 0.6
i zastanawiam sie jak to zrobic
(-a,b) oraz [-a,b]
Mógłby mi ktoś pomóc??
CZytałem tamten wątek i jest napisane kombinacje
Math.random() <0;1)
Math.random()*10 <0;10)
Math.random()*10 - 5 <-5;5)
czyli kombinacje gdy a=0 lub (-a,a) a nie ma przy różnych liczbach czyli (-a,b)
a Twój przyklad z [a,b] zrobilem sprawdzenie
Random r=new Random();
double y;
long l;
for(long i=0; i<1000000;i++)
{
l=r.nextLong();
if(l<=0)
{
y=-(double)l/double(Long.MIN_VALUE);
}
else
{
y=(double)l/double(Long.MAX_VALUE);
}
y=((b-a)*y)/2+(b+a)/2;
if (y==1 || y==-1)
System.out.println(y);
}
I nigdy nie wyświetlil mi y :/
Po pierwsze, w złym miejscu sprawdzasz czy y==1(-1), powinno byc tak
if(l<=0)
{
y=-(double)l/double(Long.MIN_VALUE);
}
else
{
y=(double)l/double(Long.MAX_VALUE);
}
// y=((b-a)*y)/2+(b+a)/2;
if (y==1 || y==-1)
System.out.println(y);
}
Po drugie, wylosowaleś 1000000 liczb z 9223372036854775807+9223372036854775807+1 mozliwych i się dziwisz, że nie trafiłeś w jeden z dwóch celów (9223372036854775807, -9223372036854775807-1)? Ja bym sie dziwił jak byś trafił.
Oki wszystko działa :) Dzieki