Java - nasumični Long, Float, Integer i Double
Ovaj će brzi vodič ilustrirati kako prvo generirati dugo koristeći običnu Javu i koristeći biblioteku Apache Commons Math.
Ovaj je članak dio serije "Java - Povratak na osnovno" ovdje na Baeldungu.
1. Generirajte neograničeni Long
Počnimo s generiranjem Long-a:
@Test javna praznina givenUsingPlainJava_whenGeneratingRandomLongUnbounded_thenCorrect () {long generatedLong = new Random (). NextLong (); }
2. Generirajte Long unutar dometa
2.1. Slučajno dugo s običnom Java
Dalje - pogledajmo stvaranje slučajno ograničenog Long-a, odnosno vrijednosti Long unutar određenog raspona ili intervala:
@Test javna praznina givenUsingPlainJava_whenGeneratingRandomLongBounded_thenCorrect () {long leftLimit = 1L; dugo desnoLimit = 10L; dugo generiranoLong = leftLimit + (long) (Math.random () * (rightLimit - leftLimit)); }
2.2. Slučajno dugo s Apache Commons Math
Pogledajmo generiranje slučajnog Long-a s čišćim API-jem i Commons Mathom:
@Test javna praznina givenUsingApacheCommons_whenGeneratingRandomLongBounded_thenCorrect () {long leftLimit = 10L; dugo desnoLimit = 100L; long generatedLong = novi RandomDataGenerator (). nextLong (leftLimit, rightLimit); }
3. Generirajte neograničeni cijeli broj
Prijeđimo desno na generiranje slučajnog cijelog broja bez granica:
@Test javna praznina givenUsingPlainJava_whenGeneratingRandomIntegerUnbounded_thenCorrect () {int generatedInteger = new Random (). NextInt (); }
Kao što vidite, prilično je blizu stvaranja dugog.
4. Generirajte cijeli broj unutar raspona
4.1. Nasumični cijeli broj s običnom Java
Dalje - slučajni cijeli broj unutar određenog raspona:
@Test javna praznina givenUsingPlainJava_whenGeneratingRandomIntegerBounded_thenCorrect () {int leftLimit = 1; int rightLimit = 10; int generiranoInteger = leftLimit + (int) (novo Random (). nextFloat () * (rightLimit - leftLimit)); }
4.2. Nasumični cijeli broj sa zajedničkom matematikom
I isto sa Common Mathom:
@Test javna praznina givenUsingApache_whenGeneratingRandomIntegerBounded_thenCorrect () {int leftLimit = 1; int rightLimit = 10; int generatedInteger = novi RandomDataGenerator (). nextInt (leftLimit, rightLimit); }
5. Generirajte neograničeni plovak
Sada, krenimo s generiranjem slučajnih plutajućih slova - prvo bez ograničenja:
@Test javna praznina givenUsingPlainJava_whenGeneratingRandomFloatUnbouned_thenCorrect () {float generatedFloat = new Random (). NextFloat (); }
6. Generirajte plovak unutar dometa
6.1. Slučajni plutajući s običnom Java
I ograničeni slučajni plovak:
@Test javna praznina givenUsingPlainJava_whenGeneratingRandomFloatBouned_thenCorrect () {float leftLimit = 1F; plutajuće desnoLimit = 10F; float generatedFloat = leftLimit + new Random (). nextFloat () * (rightLimit - leftLimit); }
6.2. Random Float sa zajedničkom matematikom
Sada - ograničeni slučajni lebdeći s Commons Math:
@Test javna praznina givenUsingApache_whenGeneratingRandomFloatBounded_thenCorrect () {float leftLimit = 1F; plutajuće desnoLimit = 10F; float randomFloat = novi RandomDataGenerator (). getRandomGenerator (). nextFloat (); float generatedFloat = leftLimit + randomFloat * (rightLimit - leftLimit); }
7. Generiraj neograničeni dvojnik
7.1. Slučajni neograničeni dvostruki s običnom Javom
Napokon - generirat ćemo slučajne dvostruke vrijednosti - prvo, s Java Math API:
@Test javna praznina givenUsingPlainJava_whenGeneratingRandomDoubleUnbounded_thenCorrect () {double generatedDouble = Math.random (); }
7.2. Slučajni neograničeni dvojnik sa zajedničkom matematikom
Kao i slučajna dvostruka vrijednost s bibliotekom Apache Commons Math:
@Test javna praznina givenUsingApache_whenGeneratingRandomDoubleUnbounded_thenCorrect () {double generatedDouble = new RandomDataGenerator (). GetRandomGenerator (). NextDouble (); }
8. Generirajte Double u dometu
8.1. Nasumični dvostruko ograničeni obični Java
U ovom primjeru, pogledajmo slučajni dvojnik generiran u intervalu - s Javom:
@Test javna praznina givenUsingPlainJava_whenGeneratingRandomDoubleBounded_thenCorrect () {double leftLimit = 1D; dvostruko desnoLimit = 10D; double generatedDouble = leftLimit + new Random (). nextDouble () * (rightLimit - leftLimit); }
8.2. Slučajno ograničeni dvostruki sa zajedničkom matematikom
I na kraju - slučajni dvojnik unutar intervala, koristeći biblioteku Apache Commons Math:
@Test javna praznina givenUsingApache_whenGeneratingRandomDoubleBounded_thenCorrect () {double leftLimit = 1D; dvostruko desnoLimit = 100D; double generatedDouble = novi RandomDataGenerator (). nextUniform (leftLimit, rightLimit); }
I tu ste - brzi i precizni primjeri kako generirati i neograničene i ograničene vrijednosti za najčešće numeričke primitive u Javi.
9. Zaključak
Ovaj je vodič ilustrirao kako možemo generirati slučajne brojeve, vezane ili nevezane, koristeći različite tehnike i knjižnice.
Kao i uvijek, provedba svih ovih primjera i isječaka može se naći u projektu GitHub. Ovo je projekt zasnovan na Mavenu, pa bi ga trebalo lako uvesti i pokrenuti.