Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I really thought this would work, but when I ran it, I always get some random huge decimal and it makes no sense. The logic is right, so why doesn't the code work?

do{
  value = rnd.nextDouble();
}while(value>min && value<max);

Keep in mind "min" and "max" are actually functions that do some simple arithmetic operations then return that value, but I just put min and max for simplicity so I don't have to post the entire class.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
277 views
Welcome To Ask or Share your Answers For Others

1 Answer

You can declare a start and end variables (int or double), and use nextDouble() like:

value = rnd.nextDouble() * (end - start) + start;

Remember that:

public double nextDouble() Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...