2012-01-16 16 views

Respuesta

85

La clase java.util.Random ya cuenta con esta funcionalidad:

public boolean getRandomBoolean() { 
    Random random = new Random(); 
    return random.nextBoolean(); 
} 

Sin embargo, no es eficiente para crear siempre una nueva Random ejemplo, cada vez que necesite un valor lógico al azar. En su lugar, crear un atributo de tipo Random en su clase que necesita el booleano al azar, a continuación, utilizar esa instancia para cada nuevo booleanos al azar:

public class YourClass { 

    /* Oher stuff here */ 

    private Random random; 

    public YourClass() { 
     // ... 
     random = new Random(); 
    } 

    public boolean getRandomBoolean() { 
     return random.nextBoolean(); 
    } 

    /* More stuff here */ 

} 
46

(Math.random() < 0.5) vuelve verdadero o falso al azar

12

Esto debería hacer:

public boolean randomBoolean(){ 
    return Math.random() < 0.5; 
} 
+0

este trabajo mejor para mí –

5

Usted puede hacer de la siguiente manera código,

public class RandomBoolean { 
    Random random = new Random(); 
    public boolean getBoolean() { 
     return random.nextBoolean(); 
    } 
    public static void main(String[] args) { 
     RandomBoolean randomBoolean = new RandomBoolean(); 
     for (int i = 0; i < 10; i++) { 
      System.out.println(randomBoolean.getBoolean()); 
     } 
    } 
} 

Espero que esto te ayude, gracias.

+1

Esto es un poco redundante. 'randomBoolean' podría ser' new Random() ', y en lugar de' getBoolean() 'tener' nextBoolean() '. El código anterior solo agrega una envoltura de clase sin sentido. – whitfin

2

Usted recibirá el presente:

return Math.random() < 0.5; 
+6

Siempre que sea posible intente agregar solo respuestas que agreguen información. Esta respuesta es casi idéntica a la respuesta de MichaelBorgwardt –

-1

más corto camino:

public boolean getRandomBoolean() { 
    return new Random.nextBoolean(); 
} 
+0

return new Random(). NextBoolean(); – Simo

Cuestiones relacionadas