title: Java random number with given length
body: <p>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 ?</p>
  
  <p><strong>EDIT - Follow up question:</strong></p>
  
  <p>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?</p>
  
  <p><strong>EDIT 2:</strong></p>
  
  <p>This is my final solution. Thanks for all the help guys!</p>
  
  <pre><code>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&lt;6;){
          int ranAny = 48 + (new Random()).nextInt(90-65);
  
          if(!(57 &lt; ranAny &amp;&amp; ranAny&lt;= 65)){
          char c = (char)ranAny;      
          val += c;
          i++;
          }
  
      }
  
      return val;
  }
  </code></pre>