Jak wygenerować liczbę losową w określonym zakresie w Javie

Jak wygenerować liczbę losową w określonym zakresie w Javie
Proces wyodrębnienia jednej liczby przy użyciu dowolnego algorytmu matematycznego nazywa się generowaniem liczb losowych. W programowaniu Java niektóre aplikacje często wymagają generowania losowych liczb całkowitych, na przykład OTP (hasło jednorazowe). Wiele aplikacji generuje liczby losowe, aby wykorzystać OTP do weryfikacji użytkownika.

Ten post wyjaśni metody generowania liczb losowych w określonym zakresie w Java.

Jak wygenerować liczbę losową w określonym zakresie w Javie?

Aby generować liczbę losową w określonym zakresie, możesz użyć:

  • Matematyka.Metoda losowa ()
  • Losowy.Metoda NextInt ()
  • Losowy.Metoda NextFloat ()
  • Losowy.metoda ints ()

Spróbujmy zrozumieć działanie tych metod z przykładami.

Metoda 1: Wygeneruj podwójną liczbę losową w określonym zakresie za pomocą matematyki.Metoda losowa ()

W tej sekcji użyjemy „Matematyka.losowy()”Metoda generowania liczb losowych. Metoda Random () jest metodą statyczną klasy matematycznej, dzięki czemu można ją wywołać bezpośrednio z nazwą klasy i generuje „A”podwójnie”Wpisz liczbę losową między danym zakresem.

Składnia
Do generowania liczby losowej w określonym zakresie za pomocą matematyki.Metoda losowa () postępuj zgodnie z podaną składnią:

Matematyka.Random () * (max_num - min_num)

„„max_num”To maksymalna wartość, podczas gdy„min_num”To minimalna wartość. Obie wartości są dodawane, aby zapewnić zakres.

Przykład
W tym przykładzie najpierw utworzymy dwie zmienne typu liczb całkowitych, „max_num" I "min_num”I przypisz następujące wartości:

int min_num = 14;
int max_num = 150;

Utworzymy jeszcze jedną zmienną typu liczb całkowitych „rand_num”, Który przechowuje losową liczbę między„0" Do "136”; Jak przy użyciu określonej formuły, kiedy odejmujemy Min_Num od maksymalnego_num, zwróci 136. Tak więc liczba losowa zostanie wygenerowana od 0 do 136:

Double rand_num = matematyka.Random () * (max_num - min_num);

Wydrukuj generowaną wartość losową za pomocą „System.na zewnątrz.println ()" metoda:

System.na zewnątrz.println („liczba losowa:”+ rand_num);

Wyjście wyświetla losową podwójną wartość „31.592… .”Pomiędzy„0" Do "136”:

Teraz sprawdźmy drugą metodę wygenerowania liczby losowej typu INT.

Metoda 2: Wygeneruj liczbę losową INT w określonym zakresie za pomocą losowego.Metoda NextInt ()

Do generowania losowej liczby całkowitej w określonym zakresie użyj „NextIt ()„Metoda losowej klasy Java. Klasa losowa zawiera wiele metod generowania liczb losowych w dowolnym rodzaju, takich jak pływak, podwójny, długi i int.

W tej sekcji wygenerujemy liczbę losową typu INT, stosując metodę klasy losowej.

Składnia
Postępuj zgodnie z podaną składnią do generowania liczby losowej typu liczb całkowitych za pomocą klasy losowej:

skraj.NextIt (max_num - min_num) + min_num;

Tutaj, "skraj”Jest przedmiotem losowej klasy, która wywołuje„NextIt ()„Metoda, przekazując„max_num" I "min_num„Jak argumenty.

Przykład
Po pierwsze, stworzymy instancję losowej klasy nazwanej „skraj”:

Random Rand = new Random ();

Następnie utwórz zmienną typu liczb całkowitych „X”, Który przechowuje wygenerowaną liczbę losową, wywołując„NextIt ()" metoda. Ta metoda wygeneruje liczbę losową między „14" Do "136”Ponieważ zgodnie z danym formułem, kiedy odejmujemy 14 od 150, zwróci 136. Tak więc liczba losowa zostanie wygenerowana między 14 do 136:

int x = rand.NextIt (max_num - min_num) + min_num;

Na koniec wydrukuj wygenerowany losowy numer na konsoli:

System.na zewnątrz.println („liczba losowa:”+ x);

Jak widzisz, "108”Jest naszym wynikowym losowym numerem:

Postępuj zgodnie z poniższą procedurą, jeśli chcesz wygenerować losowy numer zmiennoprzecinkowy.

Metoda 3: Wygeneruj liczbę losową zmiennoprzecinkową w określonym zakresie za pomocą losowego.Metoda NextFloat ()

"Nextfloat ()”To metoda losowej klasy, która generuje liczby losowe w zmiennoprzecinkowych punktach. W tej sekcji wygenerujemy liczbę losową w formacie dziesiętnym za pomocą wspomnianej metody.

Składnia
Opisana składnia jest używana do losowej.Metoda NextFloat ():

skraj.Nextfloat () * (max_num - min_num);

Tutaj, "skraj”Jest przedmiotem losowej klasy, która wywołuje„Nextfloat ()„Metoda, przekazując dwie liczby”max_num" I "min_num”Jako parametry

Przykład
Wzywamy „„Nextfloat ()„Metoda, przekazując już utworzone”max_num" I "min_num„Zmienne jako argumenty i przechowywanie w zmiennej typu zmiennoprzecinka”Randomval".

float RandomVal = rand.Nextfloat () * (max_num - min_num);

Wydrukuj losową wartość zmiennoprzecinkową, wykorzystując „System.na zewnątrz.println ()" metoda:

System.na zewnątrz.println (RandomVal);

Wyjście oznacza, że ​​pomyślnie wygenerowaliśmy liczbę zmiennoprzecinkową w określonym zakresie:

Jeśli chcesz wygenerować listę liczb losowych w określonym zakresie, postępuj zgodnie z daną sekcją.

Metoda 4: Wygeneruj listę liczb losowych w określonym zakresie za pomocą losowego.metoda ints ()

Do generowania listy liczb losowych w określonym zakresie, „ints ()„Można zastosować metodę klasy losowej. Ta metoda zwraca strumień losowo wygenerowanych liczb całkowitych do nieskończoności. Może być używany w określonym zakresie. Metoda ints () pozwala również na ograniczenie liczby liczb całkowitych, określając rozmiar strumienia.

Składnia
Poniższa składnia „ints ()„Metoda jest używana do generowania listy liczb losowych w określonym zakresie:

skraj.ints (limit, min_num, max_num);

Tutaj, "skraj”Jest przedmiotem losowej klasy, która wywołuje„ints ()„Metoda, przekazując trzy parametry”, „max_num" I "min_num”A limit wskazujący, ile liczb losowych powinno być obecnych na liście.

Przykład
Utworzymy obiekt „JestIntstream„Interfejs, który będzie przechowywał strumień liczb losowo wygenerowanych. Tutaj przejdziemy „3”Jako limit, co oznacza, że ​​wynikająca lista będzie zawierać trzy liczby:

Intstream jest = rand.ints (3, min_num, max_num);

Na koniec wydrukuj losowo generowane liczby za pomocą „dla każdego" pętla:

Jest.Foreach (system.Out :: println);

Wyjście

Zebraliśmy wszystkie niezbędne informacje do generowania liczb losowych w określonym zakresie w Javie.

Wniosek

W celu generowania liczb losowych w określonym zakresie, Java obsługuje różne metody, matematyka.Metoda losowa, losowa.Metoda NextInt (), losowa.Metoda NextFloat () i losowa.metoda ints (). Możesz użyć tych metod do generowania liczb losowych dowolnego typu, takich jak Double, Int, Float i tak dalej. Java obsługuje również generowanie listy liczb losowych w określonym zakresie za pomocą losowego.metoda ints (). W tym poście wyjaśniliśmy metody generowania liczb losowych w określonym zakresie w Javie.