Има няколко опции за създаване на генератор на псевдослучайни числа на езика Java. Една от тези опции е използването на класа java.util.Random и метода nextInt() . В тази статия ще говорим за метода Random nextInt() и ще дадем някои примерни codeове за използването му.
Накратко за класа java.util.Random
Класът java.util.Random , Howто казахме, е генератор на псевдослучайни числа. Класът е представен от два конструктора-
Random() — създава генератор на числа, използвайки уникално семе
-
Случайно (дълго семе) — позволява ви да посочите семето ръчно
Произволен метод nextInt().
Има две опции java.util.Random.nextInt() Метод-
int nextInt(int n) — връща следващата произволна стойност от тип int в диапазона от 0 до n. Методът хвърля IllegalArgumentException , ако n не е положително.
-
int nextInt() — връща следващата произволна int стойност
Пример за произволен code на метода nextInt().
Нека опитаме и двата варианта на метода java.util.Random.nextInt() с примерни codeове. Ето пример за метод nextInt() без аргументи:
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);
}
}
Резултатът ще бъде…не знаем със сигурност! Просто опитайте codeа и ще получите произволно генерирано цяло число. Нека изпробваме Random.nextInt() с аргумент. Този път обаче проблемът ни ще бъде по-интересен. Вероятно сте виждали онлайн казино реклами повече от веднъж, те буквално наводниха интернет. Така че последователността на генератора на числа в такива игри обикновено се създава с помощта на методи и класове като Random . Нека създадем програма, в която хвърляме два зара с число от 1 до 6, изписано от всяка страна.
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)));
}
}
}
В тази програма играчът "хвърля" заровете 6 пъти подред. Random.nextInt() определя следващото число. Ето един от резултатите:
хвърляне на зарове за 1 път Случайно число между 1 и 6 е = 5 хвърляне на зарове за 2 пъти Случайно число между 1 и 6 е = 6 хвърляне на зарове за 3 пъти Случайно число между 1 и 6 е = 6 хвърляне на зарове за 4 пъти Случайно число между 1 и 6 е = 5 хвърляне на зарове за 5 пъти Случайно число между 1 и 6 е = 2 хвърляне на зарове за 6 пъти Случайно число между 1 и 6 е = 4
По подобен начин можете да реализирате игра на зарове за двама играчи. А също и лотарията or рулетката, например. Ако някога сте играли игра с proceduresно генериране на свят, сега имате първоначална представа How работи.
GO TO FULL VERSION