欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中的随机类Random

程序员文章站 2022-05-21 18:35:15
...
    需求是在整数1-9中间随机选择一个数字。

    使用Math.random()。结果写成如下:int p = (int) (Math.random() * 9); 结果就是1和9永远随机不到。

    查证Javase docs. 对于这个函数,是这样讲的:

    Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0.
    因为less than 1.0, 所以强制转化到integer,  上面的p是永远不会为9的。0倒是可以随机到的,因为强制转化时会取下整。

    使用函数Random.nextInt(int n) 这个函数:

    Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive)
    比如上诉的需求可写为: Random ran = new Random(); int p =ran.nextInt(9)+1;  这样能够得到想要的结果。

如果要对任意输入的正整数范围取随机,则如下:

int createRandom(int min, int max) {
		Random random = new Random();
		return random.nextInt(max-min+1)+ min;
	}

相关标签: java