CodeGym /Java blog /Véletlen /Java Véletlenszerű nextInt() metódus
John Squirrels
Szint
San Francisco

Java Véletlenszerű nextInt() metódus

Megjelent a csoportban
Java nyelvű pszeudo-véletlenszám-generátor létrehozására több lehetőség is van. Az egyik ilyen lehetőség a java.util.Random osztály és a nextInt() metódus használata . Ebben a cikkben a Random nextInt() metódusról fogunk beszélni , és néhány kódpéldát adunk a használatára.

Röviden a java.util.Random osztályról

A java.util.Random osztály, mint mondtuk, egy pszeudo-véletlen számgenerátor. Az osztályt két konstruktor képviseli
  • Random() – számgenerátort hoz létre egyedi mag használatával

  • Véletlenszerű (hosszú mag) – lehetővé teszi a vetőmag kézi megadását

Mivel az osztály pszeudo-véletlen számot hoz létre, egy mag megadásával meghatározzuk a véletlen sorozat kezdőpontját. És ugyanazokat a véletlenszerű sorozatokat fogja kapni. Az ilyen egyezés elkerülése érdekében gyakori, hogy egy második konstruktort használnak, amely az aktuális időt használja kezdeti értékként.

Véletlenszerű nextInt() metódus

Két lehetőség van java.util.Random.nextInt() Method
  • int nextInt(int n) — a következő int típusú véletlenszerű értéket adja vissza a 0 és n közötti tartományban. A metódus IllegalArgumentException értéket dob , ha n nem pozitív.

  • int nextInt() — a következő véletlenszerű int értéket adja vissza

Véletlenszerű nextInt() metóduskód Példa

Próbáljuk meg a java.util.Random.nextInt() metódus mindkét változatát kódpéldákkal. Íme egy példa a nextInt() metódusra argumentumok nélkül:

import java.util.*;
public class RandomTest {
   public static void main(String[] args)
   {
       //creating a Random Object ran
       Random ran = new Random();

       //generating a number using nextInt() method
       int randomNumber = ran.nextInt();

       System.out.println("Randomly generated number = " + randomNumber);
   }
}
A kimenet… nem tudjuk biztosan! Csak próbálja ki a kódot, és kap egy véletlenszerűen generált egész számot. Próbáljuk ki a Random.nextInt()- et egy argumentummal. A mi problémánk azonban ezúttal érdekesebb lesz. Valószínűleg nem egyszer látott már online kaszinó hirdetéseket, szó szerint elárasztották az internetet. Tehát az ilyen játékokban a számgenerátor sorozata általában olyan metódusokkal és osztályokkal jön létre, mint például a Random . Készítsünk egy programot, amelyben két kockával dobunk, amelyeknek mindkét oldalára egy 1-től 6-ig terjedő szám van írva.

import java.util.*;
public class RandomTest2 {
   public static void main(String args[])
   {

       // create Random Object
       Random random = new Random();

       // Printing the 6 random numbers between 1 and 6 using //random.nextInt()
       

      for (int i = 1; i < 7; i++) {
          System.out.println("throwing a dice for the " + i + " time");
       System.out.println ("Random number between 1 and 6 is = " + (1 + random.nextInt(6)));
   }
   }
}
Ebben a programban a játékos egymás után 6-szor "dobja" a kockát. A Random.nextInt() meghatározza a következő számot. Íme az egyik eredmény:
kockadobás 1 alkalommal Véletlenszerű szám 1 és 6 között = 5 kockadobás 2 alkalommal Véletlenszerű szám 1 és 6 között = 6 kockadobás 3 alkalommal Véletlenszerű szám 1 és 6 között = 6 dobás kocka 4 alkalommal Véletlenszerű szám 1 és 6 között = 5 kockadobás 5 alkalommal 1 és 6 közötti véletlen szám = 2 kockadobás 6 alkalommal 1 és 6 közötti véletlen szám = 4
Hasonló módon megvalósíthat egy kockajátékot két játékos számára. És például a lottó, vagy a rulett is. Ha valaha is játszottál procedurális világgenerációval, most már van egy kezdeti elképzelésed a működéséről.
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION