Get random integer in range (x, y]? [duplicate]

2019-02-11 11:07发布

问题:

Possible Duplicate:
Java: generating random number in a range

How do I generate a random integer i, such that i belongs to (0,10]?

I tried to use this:

Random generator = new Random();
int i = generator.nextInt(10);

but it gives me values between [0,10).

But in my case I need them to be (0,10].

回答1:

Random generator = new Random(); 
int i = generator.nextInt(10) + 1;


回答2:

How about:

Random generator = new Random();
int i = 10 - generator.nextInt(10);


回答3:

Just add one to the result. That turns [0, 10) into (0,10] (for integers). [0, 10) is just a more confusing way to say [0, 9], and (0,10] is [1,10] (for integers).



标签: java random