Potrzebuję utworzyć metodę Java, aby losowo zwrócić true
lub false
. Jak mogę to zrobić?Powrót Prawda lub fałsz Losowo
Odpowiedz
Klasa java.util.Random
ma już tej funkcji:
public boolean getRandomBoolean() {
Random random = new Random();
return random.nextBoolean();
}
Jednak to nie jest skuteczne, aby zawsze utworzyć nowy Random
instancji za każdym razem trzeba losową wartość logiczną. Zamiast tego, należy utworzyć atrybut typu Random
w swojej klasie, który wymaga losową wartość logiczną, a następnie użyć tego wystąpienia dla każdego nowego losowych wartości logicznych:
public class YourClass {
/* Oher stuff here */
private Random random;
public YourClass() {
// ...
random = new Random();
}
public boolean getRandomBoolean() {
return random.nextBoolean();
}
/* More stuff here */
}
(Math.random() < 0.5)
zwraca prawdę lub fałsz losowo
ten powinien zrobić:
public boolean randomBoolean(){
return Math.random() < 0.5;
}
Można to zrobić w następujący sposób kod,
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());
}
}
}
Mam nadzieję, że to ci pomoże, dzięki.
Jest to trochę zbędne. 'randomBoolean' może być po prostu' new Random() ', a zamiast' getBoolean() 'have' nextBoolean()'. Powyższy kod właśnie dodaje bezsensowne zawijanie klas. – whitfin
Dostaniesz go w ten sposób:
return Math.random() < 0.5;
Tam, gdzie to możliwe, spróbuj tylko dodawać odpowiedzi, które dodają informacje. Ta odpowiedź jest prawie identyczna z odpowiedzią MichaelBorgwardta: –
najbardziej krótkie sposób:
public boolean getRandomBoolean() {
return new Random.nextBoolean();
}
return new Random(). NextBoolean(); – Simo
tej pracy dla mnie najlepsze –