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
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.
GO TO FULL VERSION