Java 7后的版本
Java 7新增了ThreadLocalRandom类,可以使用它来随机生成指定范围的整数。
import java.util.concurrent.ThreadLocalRandom;
int randomNum = ThreadLocalRandom.current().nextInt(min, max);
注意:产生的整数最小值为min,最大值为max-1。
使用ThreadLocalRandom缺点是不能设定随机的种子值,如果要设定随机的种子值使用Random类。
Java 7之前的版本
Random类产生整数的方法为netInt(max)。它只能产生[0,max)的随机整数,不能产生指定范围[min,max)的整数。
解决方法
Random rand = new Randowm();
int randomNum = rand.nextInt((max - min) + 1) + min;
注意:Random如果需要种子,使用种子的构造方法。另外为了避免每次都构造Random,可以构造一个Random的单例。