Skip to content

Java 如何产生一个指定范围的随机整数

如何产生一个指定范围的随机整数?

1、Math 类的 random() 的调用,会返回一个 [0,1) 范围的一个 double 型值
2、Math.random() * 100 ---> [0,100)
      (int)(Math.random() * 100)	---> [0,99]
      (int)(Math.random() * 100) + 5  ----> [5,104]

如何获取 [a,b] 范围内的随机整数呢?

套用公式就行,代码如下:

java
(int)(Math.random() * (b - a + 1)) + a

举例:

java
class MathRandomTest {
	public static void main(String[] args) {
		double value = Math.random();
		System.out.println(value);

		// [1,6]
		int number = (int)(Math.random() * 6) + 1; //
		System.out.println(number);
	}
}

Released under the MIT License.