Klasa Java Random służy do generowania strumienia liczb pseudolosowych. Algorytmy zaimplementowane przez klasę Random wykorzystują chronioną metodę użytkową, która może dostarczyć do 32 pseudolosowo wygenerowanych bitów przy każdym wywołaniu.
Metody
| Metody | Opis |
|---|---|
| debel() | Zwraca nieograniczony strumień pseudolosowych wartości typu double. |
| int() | Zwraca nieograniczony strumień pseudolosowych wartości typu int. |
| spodnie długie() | Zwraca nieograniczony strumień długich wartości pseudolosowych. |
| Następny() | Generuje następną liczbę pseudolosową. |
| następnyBoolean() | Zwraca następną wartość logiczną pseudolosową o równomiernym rozkładzie z sekwencji generatora liczb losowych |
| następny bajt() | Generuje losowe bajty i umieszcza je w określonej tablicy bajtów. |
| następnyDouble() | Zwraca następną pseudolosową wartość Double z zakresu od 0,0 do 1,0 z sekwencji generatora liczb losowych |
| następnyFloat() | Zwraca następną pseudolosową wartość Float o równomiernym rozkładzie z zakresu od 0,0 do 1,0 z sekwencji tego generatora liczb losowych |
| następnyGaussian() | Zwraca następną pseudolosową podwójną wartość Gaussa ze średnią 0,0 i odchyleniem standardowym 1,0 z sekwencji tego generatora liczb losowych. |
| następnyInt() | Zwraca równomiernie rozłożoną wartość pseudolosową int wygenerowaną na podstawie sekwencji tego generatora liczb losowych |
| następnyDługi() | Zwraca następną długą wartość pseudolosową o równomiernym rozkładzie z sekwencji generatora liczb losowych. |
| setSeed() | Ustawia ziarno tego generatora liczb losowych przy użyciu pojedynczego długiego ziarna. |
Przykład 1
import java.util.Random; public class JavaRandomExample1 { public static void main(String[] args) { //create random object Random random= new Random(); //returns unlimited stream of pseudorandom long values System.out.println('Longs value : '+random.longs()); // Returns the next pseudorandom boolean value boolean val = random.nextBoolean(); System.out.println('Random boolean value : '+val); byte[] bytes = new byte[10]; //generates random bytes and put them in an array random.nextBytes(bytes); System.out.print('Random bytes = ( '); for(int i = 0; i <bytes.length; i++) { system.out.printf('%d ', bytes[i]); } system.out.print(')'); < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> Longs value : java.util.stream.LongPipeline$Head@14ae5a5 Random boolean value : true Random bytes = ( 57 77 8 67 -122 -71 -79 -62 53 19 ) </pre> <h2>Example 2</h2> <pre> import java.util.Random; public class JavaRandomExample2 { public static void main(String[] args) { Random random = new Random(); //return the next pseudorandom integer value System.out.println('Random Integer value : '+random.nextInt()); // setting seed long seed =20; random.setSeed(seed); //value after setting seed System.out.println('Seed value : '+random.nextInt()); //return the next pseudorandom long value Long val = random.nextLong(); System.out.println('Random Long value : '+val); } } </pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> Random Integer value : 1294094433 Seed value : -1150867590 Random Long value : -7322354119883315205 </pre></bytes.length;> Przykład 2
import java.util.Random; public class JavaRandomExample2 { public static void main(String[] args) { Random random = new Random(); //return the next pseudorandom integer value System.out.println('Random Integer value : '+random.nextInt()); // setting seed long seed =20; random.setSeed(seed); //value after setting seed System.out.println('Seed value : '+random.nextInt()); //return the next pseudorandom long value Long val = random.nextLong(); System.out.println('Random Long value : '+val); } } Przetestuj teraz Wyjście:
Random Integer value : 1294094433 Seed value : -1150867590 Random Long value : -7322354119883315205