-4

How do I generate a random integer i, such that i belongs 01 , 02 , 03 , 04 and the range gap within 01 to 10. if integer = 10 remove 0 infront.

I tried to use this:

Random generator = new Random();
int i = generator.nextInt(10) + 1;
but it gives me values between [0,10).

But in my case I need them to be (01 , 02 , 03 , 04 , 05) etc.

JeffC
  • 22,180
  • 5
  • 32
  • 55

3 Answers3

2

Try:

Random generator = new Random();
int i = generator.nextInt(10) + 1;
System.out.println(String.format("%02d", i));
  • 0 for pad with zero
  • 2 for width to 2
thegauravmahawar
  • 2,802
  • 3
  • 14
  • 23
0

The is the code snippet:

int i = r.nextInt(10)+1;
String s = String.valueOf(i);
if (s.length() == 1) {
    s= "0" + s;
} 
System.out.println(s);
wawek
  • 1,577
  • 1
  • 13
  • 23
0

The int variable will never display the first 0's so you'll have to use a String object :

int i = generator.nextInt(10) + 1;
String s = i == 10 ? "" + i : "0" + i;
Yassin Hajaj
  • 21,337
  • 9
  • 51
  • 89