How to generate random integers (int) in a specific range in Java

1 Answer

0 votes
package javaapplication1;
 
import java.util.Random;

public class Example {
 public static void main(String[] args) {
    int START = 13;
    int END = 17;
    Random random = new Random();
    for (int idx = 1; idx <= 10; ++idx)
      System.out.println(rangRandomInteger(START, END, random));
  }
  
  private static int rangRandomInteger(int start, int end, Random random) {
    if (start > end) {
      throw new IllegalArgumentException("Start > End");
    }
    long range = (long)end - (long)start + 1;
    long rnd = (long)(range * random.nextDouble());
    return (int)(rnd + start);    
  }
} 
 
/*
run:
 
13
13
13
15
14
16
16
16
16
15
 
*/

 



answered Jan 11, 2016 by avibootz

Related questions

5 answers 245 views
3 answers 237 views
2 answers 192 views
1 answer 138 views
2 answers 132 views
1 answer 92 views
...