所以我想创建一条switch语句,每种情况都有不同的被选中的概率。
案例1需要是:
发生的可能性是案例2的2倍
发生的可能性是案例3的4倍
发生的可能性是案例4的16倍
发生的可能性是情况5的256倍
我该如何在java中创建这些案例呢?
发布于 2019-10-17 04:33:08
这是个奇怪的问题。如果你这样做是为了一些实际的目的,而不是一个难题,我强烈建议你重新考虑你的方法。不管怎么说,这是个不错的小拼图。
这里有一种方法可以做到这一点--生成一个随机整数,然后计算前导零的数量。
有1/4的概率有1个前导零,有1/8的概率有2个前导零,有1/16的概率有3个前导零,有1/32的概率有4个前导零(01)
0001)
00001)
000001)的机会
然后,您可以在此号码上使用switch。
当然,你也有可能得到一个没有大小写的数字(比如32)。在这种情况下,您可能需要生成一个新的数字,然后重试。
https://stackoverflow.com/questions/58420484
复制相似问题