Java - náhodné dlhé, plávajúce, celé číslo a dvojité

Tento rýchly tutoriál ilustruje, ako vygenerovať dlho najskôr pomocou obyčajnej Javy a pomocou knižnice Apache Commons Math.

Tento článok je súčasťou série „Java - Späť na základné“ tu na Baeldungu.

1. Vytvorte neobmedzené dlhé

Začnime s generovaním Long:

@Test public void givenUsingPlainJava_whenGeneratingRandomLongUnbounded_thenCorrect () {dlho generovanéLong = nové Random (). NextLong (); }

2. Vytvorte Long v dosahu

2.1. Náhodné dlhé s obyčajnou Javou

Ďalej - pozrime sa na vytvorenie náhodne ohraničenej Long - teda Long hodnoty v danom rozsahu alebo intervale:

@Test public void givenUsingPlainJava_whenGeneratingRandomLongBounded_thenCorrect () {long leftLimit = 1L; long rightLimit = 10L; long generovanyLong = leftLimit + (long) (Math.random () * (rightLimit - leftLimit)); }

2.2. Náhodné dlhé s matematikou Apache Commons

Poďme sa pozrieť na generovanie náhodného Longu s čistejším API a Commons Math:

@Test public void givenUsingApacheCommons_whenGeneratingRandomLongBounded_thenCorrect () {dlho leftLimit = 10L; long rightLimit = 100L; long generatedLong = new RandomDataGenerator (). nextLong (leftLimit, rightLimit); }

3. Vytvorte celé číslo bez obmedzenia

Prejdime priamo k generovaniu náhodného celého čísla bez hraníc:

@Test public void givenUsingPlainJava_whenGeneratingRandomIntegerUnbounded_thenCorrect () {int generatedInteger = new Random (). NextInt (); }

Ako vidíte, je dosť blízko k vytvoreniu dlhej.

4. Vytvorte celé číslo v rozsahu

4.1. Náhodné celé číslo s obyčajnou Javou

Ďalej - náhodné celé číslo v danom rozsahu:

@Test public void givenUsingPlainJava_whenGeneratingRandomIntegerBounded_thenCorrect () {int leftLimit = 1; int rightLimit = 10; int generatedInteger = leftLimit + (int) (new Random (). nextFloat () * (rightLimit - leftLimit)); }

4.2. Náhodné celé číslo s matematikou Commons

A to isté s programom Common Math:

@Test public void givenUsingApache_whenGeneratingRandomIntegerBounded_thenCorrect () {int leftLimit = 1; int rightLimit = 10; int generatedInteger = new RandomDataGenerator (). nextInt (leftLimit, rightLimit); }

5. Vytvorte neobmedzený plavák

Poďme teraz na generovanie náhodných plavákov - najskôr bez obmedzenia:

@Test public void givenUsingPlainJava_whenGeneratingRandomFloatUnbouned_thenCorrect () {float generovanýFloat = nový Random (). NextFloat (); }

6. Vytvorte plavák v rozmedzí

6.1. Náhodný plavák s obyčajnou Javou

A ohraničený náhodný plavák:

@Test public void givenUsingPlainJava_whenGeneratingRandomFloatBouned_thenCorrect () {float leftLimit = 1F; float rightLimit = 10F; float generatedFloat = leftLimit + new Random (). nextFloat () * (rightLimit - leftLimit); }

6.2. Náhodný float s Commons Math

Teraz - ohraničený náhodný plavák s Commons Math:

@Test public void givenUsingApache_whenGeneratingRandomFloatBounded_thenCorrect () {float leftLimit = 1F; float rightLimit = 10F; float randomFloat = new RandomDataGenerator (). getRandomGenerator (). nextFloat (); float generatedFloat = leftLimit + randomFloat * (rightLimit - leftLimit); }

7. Vytvorte dvojicu bez obmedzenia

7.1. Náhodné, neobmedzené, dvojité s obyčajnou Javou

Na záver - vygenerujeme náhodné dvojité hodnoty - najskôr pomocou Java Math API:

@Test public void givenUsingPlainJava_whenGeneratingRandomDoubleUnbounded_thenCorrect () {double generatedDouble = Math.random (); }

7.2. Náhodný neobmedzený dvojitý s Commons Math

Rovnako ako náhodná dvojnásobná hodnota s knižnicou Apache Commons Math:

@Test public void givenUsingApache_whenGeneratingRandomDoubleUnbounded_thenCorrect () {double generatedDouble = new RandomDataGenerator (). GetRandomGenerator (). NextDouble (); }

8. Vytvorte dvojitý v rozsahu

8.1. Náhodne ohraničený dvojitý s obyčajnou Javou

V tomto príklade sa pozrime na náhodnú dvojku vygenerovanú v intervale - s Javou:

@Test public void givenUsingPlainJava_whenGeneratingRandomDoubleBounded_thenCorrect () {double leftLimit = 1D; double rightLimit = 10D; double generatedDouble = leftLimit + new Random (). nextDouble () * (rightLimit - leftLimit); }

8.2. Random Bounded Double With Commons Math

A nakoniec - náhodné zdvojnásobenie v intervale pomocou knižnice Apache Commons Math:

@Test public void givenUsingApache_whenGeneratingRandomDoubleBounded_thenCorrect () {double leftLimit = 1D; double rightLimit = 100D; double generatedDouble = new RandomDataGenerator (). nextUniform (leftLimit, rightLimit); }

A máte to - rýchle a k veci príklady toho, ako generovať neobmedzené aj ohraničené hodnoty pre najbežnejšie numerické primitívy v Jave.

9. Záver

Tento výukový program ilustroval, ako môžeme generovať náhodné čísla viazané alebo neviazané pomocou rôznych techník a knižníc.

Implementáciu všetkých týchto príkladov a úryvkov ako vždy nájdete v projekte GitHub. Toto je projekt založený na Maven, takže by malo byť ľahké ho importovať a spustiť.


$config[zx-auto] not found$config[zx-overlay] not found