Get random boolean in Java

I recommend using Random.nextBoolean()

That being said, Math.random() < 0.5 as you have used works too. Here’s the behavior on my machine:

$ cat myProgram.java 
public class myProgram{

   public static boolean getRandomBoolean() {
       return Math.random() < 0.5;
       //I tried another approaches here, still the same result
   }

   public static void main(String[] args) {
       System.out.println(getRandomBoolean());  
   }
}

$ javac myProgram.java
$ java myProgram ; java myProgram; java myProgram; java myProgram
true
false
false
true

Needless to say, there are no guarantees for getting different values each time. In your case however, I suspect that

A) you’re not working with the code you think you are, (like editing the wrong file)

B) you havn’t compiled your different attempts when testing, or

C) you’re working with some non-standard broken implementation.

Leave a Comment