我正在创建一个Java应用程序,它需要随机生成带有概率的数字。这些float数(或doubles变化不大)必须在0到100之间,其中0和100的出现概率最低,而50 (中间)是概率最高的.实际上,从中心移开这个数字的稀缺性总是更大,直到它变得几乎不可能。例如,数字99.9是50亿中的1次,但正如我所说的,这只是一个例子,所以数字的稀缺性必须由函数来确定。基本上,我想说的是,越接近100或0,稀缺性就会无限大。
但是,我希望它是一个带有min参数和max参数的函数,以使它更加通用。
(对不起,如果问题不是很清楚,但我不是本地人,我还在学英语……)
发布于 2022-02-09 17:49:44
也许你可以使用Random的nextGaussian()方法,它根据默认的平均值0.0和标准差1.0生成一个随机数。在你的例子中,我相信这个平均值是50,你可以计算出标准偏差,以便它符合你的要求。你可以使用这个链接:Java normal distribution来帮助回答你的问题。
Random.nextGaussian()的文档。我也建议调查正态分布,因为我相信你要求的匹配。
希望能帮上忙!
https://stackoverflow.com/questions/71054117
复制相似问题