Random Numbers are commonly used in creating applications like Dice for a board game, Gambling Program, etc. Normally, random number generation takes a lot of time. But, in the Java programming language, this can be achieved using three ways. They are addressed in the below section Random Number Generator Functions in Java.
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
In Java, Random Numbers can be generated using 3 ways:
Java Math class offers a number of methods to work on calculations such as logarithms, average, exponentiation, etc. random() is one of the methods among them that returns a positive double value within the range of 0.0 and 1.0 where 0.0 is inclusive, and 1.0 is exclusive. This method can be used with or without using parameters. If parameters are given, the random number generated will be within the given parameter’s range.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Output:
In the above Example, Random Number is generated using the Math.random() method in two ways-Directly applying it inside the main method and calling a method that contains Math.random() using the object. As mentioned in the explanation above, we can see that 2 random numbers are generated within the range of 0.0 and 1.0.
To generate a random number within the range of parameters, the general expression used is mentioned below:
Math.random()* (( maxvalue – minvalue ) +1 ) + minvalue
Where maxvalue is the upper bound of the range and min value is the lower bound of the range. For Example, in order to generate a random number between 10 and 20, set the maxvalue as 20 and the minvalue as 10.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Output:
Java.util.random class generates random numbers of different data types such as float, long, integer, double, Boolean, etc. It is also possible to pass the range of numbers as arguments to generate a random number within that range. In order to use this class, the Random class of java.util must be imported (java.util.Random). Once this class is imported, create an instance and call the methods such as next long(), nextInt(), etc. using that instance.
Code:
1 2 3 4 5 6 7 8 9 10 |
|
Output:
In the above program, a random double value is generated using the method nextDouble().
ThreadLocalRandom class is a specialized type of Random class that is introduced in Java version 1.7. ThreadLocalRandom.current().nextInt() is one of the common methods that is used to generate random numbers. It is normally used in multi-threaded applications.
Code:
1 2 3 4 5 6 7 8 |
|
Output:
Random integers can be generated using the ThreadLocalRandom class and Random Class. In both cases, a method nextInt() is used for the same:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Output:
In the above example, three Random integer type numbers are generated where one of the nextInt() method has 30 as an argument. So, while generating a random number, 30 will be set as the upper limit, and zero (default lower limit)will be set as the lower limit.
Similar to generating integer numbers, floating-point numbers can be generated using a method nextFloat(). This method can be used in both Random Class and ThreadLocalRandom Class:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Output:
Java contains a plethora of functions that can be used in programs. This helps in reducing the processing time and lines of code. Random Number Generation is one task where we can use some of these functions. This document covers the different methods to achieve this.
The above is the detailed content of Random Number Generator in Java. For more information, please follow other related articles on the PHP Chinese website!