java - 使用一系列百分比来确定概率?

标签 java arrays probability

在尝试用 java 挑战制作“赌场”风格的游戏后,我得到了一个包含 10 个值的数组,每个值都是他们可以获胜的百分比变化。它们被分配到数组中与其“id”相同的位置,例如。 playerid[i] 与具有百分比的玩家匹配 percentageChance[i]

在这个阶段,我不知道在哪里可以真正确定“获胜者”。我想过制作一个 1-100 之间的随机数,无论它在哪个范围内都意味着该人获胜,但我不知道如何实现这一点,也不知道是否有更干净/更有效的技术。

最佳答案

听起来您走在正确的道路上!假设所有概率加起来为 100,我会取一个 1 到 100 之间的随机数,然后查看它在数组中的位置。

Random r = new Random();
int rand = r.nextInt(100) + 1;
int sum = 0;
for(int i = 0; i < 10; i++){
  sum += percentChance[i];
  if(sum <= rand){
       //player i wins
  }

}

关于java - 使用一系列百分比来确定概率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237174/

相关文章:

java - lambda 中使用的循环变量

java - 如何使用参数从表中选择数据

c - 删除 C 中 char 数组中相同的连续行

c# - 如何以给定的机会在给定的边界内获得等于给定数字的随机整数?

algorithm - 如何计算期望值

java - 将文件加载到内存中(Java)?

java - Itext 5.5.9 - 设置加密时出现问题

math - 通过对用户名进行采样来推断网站用户群规模的方法

PHP str_replace 数组

c++ - 将 char 数组分配给另一个 char 数组