Java random number with given length

Total Post:119


 1832  View(s)
Rate this:
Hi Expert!

I need to genarate a random number with exactly 6 digits in Java. I know i could loop 6 times over a randomicer but is there a nother way to do this in the standard 

Java SE ?

EDIT: Follow up question: Now that I can generate my 6 digits i got a new problem, the whole ID I'm trying to create is of the syntax 123456-A1B45. So how do i 

randomice the last 5 chars that can be either A-Z or 0-9? I'm thinking of using the char value and randomice a number between 48 - 90 and simply drop any value that 

gets the numbers that represent 58-64. Is this the way to go or is there a better solution?

EDIT 2: This is my final solution. Thanks for all the help guys!

protected String createRandomRegistryId(String handleId)
    // syntax we would like to generate is DIA123456-A1B34      
    String val = "DI";      

    // char (1), random A-Z
    int ranChar = 65 + (new Random()).nextInt(90-65);
    char ch = (char)ranChar;        
    val += ch;      

    // numbers (6), random 0-9
    Random r = new Random();
    int numbers = 100000 + (int)(r.nextFloat() * 899900);
    val += String.valueOf(numbers);

    val += "-";
    // char or numbers (5), random 0-9 A-Z
    for(int i = 0; i<6;){
        int ranAny = 48 + (new Random()).nextInt(90-65);

        if(!(57 < ranAny && ranAny<= 65)){
        char c = (char)ranAny;      
        val += c;


    return val;

Thanks in advance! 
  1. Re: Java random number with given length

    Hi Goti Bandhu!

    Generate a number in the range from 100000 to 999999.

    // pseudo code
    int n = 100000 + random_float() * 900000;
    I’m pretty sure you have already read the documentation for e.g. Random and can figure out the rest yourself.


Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.