Java - Random Long, Float, Integer en Double

Deze korte tutorial laat zien hoe je een lange eerste keer kunt genereren met gewoon Java en de Apache Commons Math-bibliotheek.

Dit artikel maakt deel uit van de serie "Java - Back to Basic" hier op Baeldung.

1. Genereer een onbeperkte long

Laten we beginnen met het genereren van een Long:

@Test openbare leegte gegevenUsingPlainJava_whenGeneratingRandomLongUnbounded_thenCorrect () {lang gegenereerdLong = nieuw willekeurig (). NextLong (); }

2. Genereer een long binnen een bereik

2.1. Willekeurig lang met gewoon Java

Vervolgens - laten we eens kijken naar het maken van een willekeurig begrensde Long - dat wil zeggen, een Long-waarde binnen een bepaald bereik of interval:

@Test openbare leegte gegevenUsingPlainJava_whenGeneratingRandomLongBounded_thenCorrect () {long leftLimit = 1L; lang rechtsLimit = 10L; lang gegenereerdLong = leftLimit + (long) (Math.random () * (rightLimit - leftLimit)); }

2.2. Willekeurig lang met Apache Commons Math

Laten we eens kijken naar het genereren van de willekeurige Long met een schonere API en Commons Math:

@Test openbare leegte gegevenUsingApacheCommons_whenGeneratingRandomLongBounded_thenCorrect () {long leftLimit = 10L; lang rechtsLimit = 100L; long generatedLong = nieuwe RandomDataGenerator (). nextLong (leftLimit, rightLimit); }

3. Genereer een onbeperkt geheel getal

Laten we verder gaan met het genereren van een willekeurig geheel getal zonder grenzen:

@Test openbare ongeldige gegevenUsingPlainJava_whenGeneratingRandomIntegerUnbounded_thenCorrect () {int generatedInteger = nieuwe Random (). NextInt (); }

Zoals je kunt zien, is het vrij dicht bij het genereren van een long.

4. Genereer een geheel getal binnen een bereik

4.1. Willekeurig geheel getal met gewoon Java

Volgende - een willekeurig geheel getal binnen een bepaald bereik:

@Test openbare ongeldige gegevenUsingPlainJava_whenGeneratingRandomIntegerBounded_thenCorrect () {int leftLimit = 1; int rightLimit = 10; int generatedInteger = leftLimit + (int) (new Random (). nextFloat () * (rightLimit - leftLimit)); }

4.2. Willekeurig geheel getal met Commons Math

En hetzelfde met Common Math:

@ Test openbare ongeldig gegevenUsingApache_whenGeneratingRandomIntegerBounded_thenCorrect () {int leftLimit = 1; int rightLimit = 10; int generatedInteger = nieuwe RandomDataGenerator (). nextInt (leftLimit, rightLimit); }

5. Genereer een Unbounded Float

Laten we nu eens kijken naar het genereren van willekeurige drijvers - eerst onbegrensd:

@Test openbare leegte gegevenUsingPlainJava_whenGeneratingRandomFloatUnbouned_thenCorrect () {float generatedFloat = nieuwe Random (). NextFloat (); }

6. Genereer een vlotter binnen een bereik

6.1. Willekeurig zweven met gewoon Java

En een begrensde willekeurige float:

@Test openbare leegte gegevenUsingPlainJava_whenGeneratingRandomFloatBouned_thenCorrect () {float leftLimit = 1F; zweven rightLimit = 10F; float generatedFloat = leftLimit + nieuwe Random (). nextFloat () * (rightLimit - leftLimit); }

6.2. Willekeurig zweven met Commons Math

Nu - een begrensde willekeurige float met Commons Math:

@Test openbare leegte gegevenUsingApache_whenGeneratingRandomFloatBounded_thenCorrect () {float leftLimit = 1F; zweven rightLimit = 10F; float randomFloat = nieuwe RandomDataGenerator (). getRandomGenerator (). nextFloat (); float generatedFloat = leftLimit + randomFloat * (rightLimit - leftLimit); }

7. Genereer een ongebonden dubbel

7.1. Willekeurig onbeperkt dubbel met gewoon Java

Ten slotte - we gaan willekeurige dubbele waarden genereren - eerst met de Java Math API:

@Test openbare ongeldig gegevenUsingPlainJava_whenGeneratingRandomDoubleUnbounded_thenCorrect () {dubbel gegenereerdDubbel = Math.random (); }

7.2. Willekeurig onbeperkt dubbel met Commons Math

Evenals een willekeurige dubbele waarde met de Apache Commons Math-bibliotheek:

@Test openbare ongeldige gegevenUsingApache_whenGeneratingRandomDoubleUnbounded_thenCorrect () {double generatedDouble = nieuwe RandomDataGenerator (). GetRandomGenerator (). NextDouble (); }

8. Genereer een dubbel binnen een bereik

8.1. Willekeurig begrensd dubbel met gewoon Java

Laten we in dit voorbeeld eens kijken naar een willekeurig dubbel gegenereerd binnen een interval - met Java:

@Test openbare ongeldige gegevenUsingPlainJava_whenGeneratingRandomDoubleBounded_thenCorrect () {dubbele leftLimit = 1D; dubbele rightLimit = 10D; double generatedDouble = leftLimit + nieuwe Random (). nextDouble () * (rightLimit - leftLimit); }

8.2. Willekeurig begrensd dubbel met Commons Math

En als laatste - een willekeurige dubbele binnen een interval, met behulp van de Apache Commons Math-bibliotheek:

@Test openbare ongeldige gegevenUsingApache_whenGeneratingRandomDoubleBounded_thenCorrect () {dubbele leftLimit = 1D; dubbel rightLimit = 100D; double generatedDouble = nieuwe RandomDataGenerator (). nextUniform (leftLimit, rightLimit); }

En daar heb je het - snelle en duidelijke voorbeelden van hoe je zowel onbegrensde als begrensde waarden kunt genereren voor de meest voorkomende numerieke primitieven in Java.

9. Conclusie

Deze tutorial illustreerde hoe we willekeurige getallen, gebonden of ongebonden, konden genereren met behulp van verschillende technieken en bibliotheken.

Zoals altijd is de implementatie van al deze voorbeelden en fragmenten te vinden in het GitHub-project. Dit is een op Maven gebaseerd project, dus het moet gemakkelijk te importeren en uit te voeren zijn.