I need to generate some random booleans. However I need to be able to specify the probability of returning true
. As a results doing:
private Random random = new Random();
random.nextBoolean();
will not work.
One possible solution would be:
private Random random = new Random()
public boolean getRandomBoolean(float p){
return random.nextFloat() < p;
}
I was wondering if there is a better or more natural way of doing this.
EDIT: I guess I am asking whether there is a library class that provides a nextBoolean(float probability) method.
I was wondering if there is a better or more natural way of doing this.
The approach you're using already is fine.
* As far as I know, there's not a standard Java method that will make this code any shorter.
1) Yes, i think your approach is valid and I don't see another easier way.
2) There is a library for handling random numbers of different statistical distributions:
http://introcs.cs.princeton.edu/java/22library/StdRandom.java.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With