前言

今天读代码的时候,找到了随机取某个区间值的代码。 然后,在网上也能找到这个代码,突然觉得很有趣。 从我潜意识的经验来看,我认为这种写法有问题

科普知识点

random.nextint(intbound )可取值的范围为[0,bound

例如,random.nextint(10 )中可能的值的范围是[ 0,9 ]

关于nextInt的取值方法,接口文档中说明了随机出现的值接近同等概率。 那么,什么样的随机业务才能进行这种比较复杂的求随机值的写法呢?

个人认为有趣的代码段如下

/**[min,max]之间的随机整数* @param min最小整数* @param max最大整数*/privatestaticintrandomint (intmin,int max ) { return new Random

/**[min,max]之间的随机整数* @param min最小整数* @param max最大整数*/privatestaticintrandomint (intmin,int max ) { return new Random

一家公司有这样的研发部门。 团队成员由部门经理和研发成员组成。 号码分别是1-6。 其中一号是部门经理。 我在现在的某个项目上赚了很多钱。 部门经理已经被奖励了一套房子。 现在还有一辆汽车在剩下的成员中进行奖励。 写一个抽奖池奖励这辆车给2-6的某个号码。 如果让代码朋友从上面的两个代码中选择的话,你(过一段时间公布了个人认为有问题的地方)