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.