gpt4 book ai didi

java - 创建百分比分配,其中值 x 返回 20% 的时间,值 y 返回 35% 的时间,值 z

转载 作者:行者123 更新时间:2023-12-01 07:15:43 24 4
gpt4 key购买 nike

看起来很简单吧?我有 x,y,z 值...当我调用函数 getNextValue() 时,我需要在 20% 的调用中返回 x,在 45% 的调用中返回 y,在 35% 的调用中返回 z函数被调用的时间。

所以我创建了一个包含 1-100 作为关键整数的 HashMap 。我这样填写 map :映射键 1-20 的值为 x map 键 21-65 的值为 y map 键 66-100 具有值 z

所以我使用java的Random来执行random.nextInt(100),它返回1-100之间的随机数,然后我调用map.get(random.nextInt(100)),它给出了这个比率。

所以这会返回 x 20% 的时间。 45% 的时间返回 y。返回 z 35% 的时间。

但我正在寻找更简单的东西。我知道有一些东西可能使用 mod 或位移位,但我想不出任何东西。一个简单的2-3类轮。

天哪,为什么我不能做得更简单。

请问有人吗?

最佳答案

我真的不明白..你不能做这样的事情吗:

Random r = new Random();

int getNextValue()
{
float t = r.nextFloat();
// t will be in [0,1] range

if (t < 0.2f)
return x;
else if (t < 0.65f)
return y;
else
return z;
}

关于java - 创建百分比分配,其中值 x 返回 20% 的时间,值 y 返回 35% 的时间,值 z,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3472313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com