How do I generate random integers within a specific range in Java?

Given two numbers Min and Max, the task is to generate a random integer within this specific range in Java.

Examples:

Input: Min = 1, Max = 100
Output: 89

Input: Min = 100, Max = 899
Output: 514

Approach:

  • Get the Min and Max which are the specified range.
  • Call the nextInt() method of ThreadLocalRandom class (java.util.concurrent.ThreadLocalRandom) and specify the Min and Max value as the parameter as
    ThreadLocalRandom.current().nextInt(min, max + 1);
  • Return the received random value
filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to generate a random integer
// within this specific range
  
import java.util.concurrent.ThreadLocalRandom;
  
class GFG {
  
    public static int getRandomValue(int Min, int Max)
    {
  
        // Get and return the random integer
        // within Min and Max
        return ThreadLocalRandom
            .current()
            .nextInt(Min, Max + 1);
    }
  
    // Driver code
    public static void main(String[] args)
    {
  
        int Min = 1, Max = 100;
  
        System.out.println("Random value between "
                           + Min + " and " + Max + ": "
                           + getRandomValue(Min, Max));
    }
}

chevron_right


Output:

Random value between 1 and 100: 35

Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.