随机整数:安卓操作系统

4

我猜这很简单,但出于某种原因,我无法弄清楚。那么,如何从两个数字中随机选择一个整数。我想随机选择1和2之间的整数。

2个回答

11

只需使用标准均匀分布,对其进行抽样,如果小于0.5,则选择一个值,如果大于0.5,则选择另一个值:

 int randInt = new Random().nextDouble() < 0.5 ? 1 : 2;

或者你可以使用nextInt方法,该方法以范围内的上限(不包括)作为输入,并设置偏移量来解决其返回0(最小值)的问题:

int randInt = new Random().nextInt(2) + 1;

-1
请使用以下函数:
int fun(int a, int b) {
    Random r = new Random();
    if(r.nextInt(2)) return a;
    else return b;
}

这将以均匀分布返回a或b。换句话说,如果你运行这个函数N次,期望出现'a'和'b'的次数各为N/2。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接