- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 C# 代码中需要一些关于 percent chance 的帮助。假设我有一个从 1 到 100 的 for 循环,在那个循环中我有一个“if”代码,我想执行 70% 次(随机)。我将如何实现这一目标?所以像这样:
static void Main(string[] args)
{
var clickPercentage = 70;
for (int i = 0; i < 100; i++)
{
if (chance)
{
//do 70% times
}
}
}
所以对于最上面的例子,如果代码被命中的几率是 70%,我的例子大约是 70 次。
我尝试过的事情:(远不及 70%,更像是 1% 或 2% 的机会)
static void Main(string[] args)
{
var clickPercentage = 70;
for (int i = 0; i < 100; i++)
{
var a = GetRadnomNumber(1, clickPercentage);
var b = GetRadnomNumber(1, 101);
if (a <= b)
{
Console.WriteLine($"Iteracija {i} - {b} <= {a}");
}
}
}
public static int GetRadnomNumber(int min, int max)
{
var random = new Random();
var retVal = random.Next(min, max);
return retVal;
}
最佳答案
使用 Random
class .
您可以使用 Random.Next(100)
获取 0 到 99 之间的随机 int
:
public static Random RandomGen = new Random();
.....
int clickPercentage = 70;
for (int i = 0; i < 100; i++)
{
int randomValueBetween0And99 = RandomGen.Next(100);
if (randomValueBetween0And99 < clickPercentage)
{
//do 70% times
}
}
重要的是您不要在循环中创建随机实例,因为它的默认构造函数使用当前时间作为种子。这可能会导致循环中出现重复值。这就是我使用 static
字段的原因。您还可以将 Random
实例传递给方法,以确保调用者负责生命周期和种子。有时使用相同的种子很重要,例如重复相同的测试。
关于c# - 在 C# 中实现 "percent chance",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37858551/
这个问题已经有答案了: changing probability of getting a random number (7 个回答) generating random number with a
public class Spell { // chance = (0, 100> private int chance; public void execute() {
我需要根据用户之前完成的工作计算出的分数(“机会”数量)为用户分配工作。这是我的用户表: user chances Anna 6 Barry 4 Steve 3 Jackson 3
谁能告诉我我的代码有什么问题? 玩家将掷两个骰子。在第一次抛出如果两者之和骰子等于 7 或 11,玩家获胜。如果总和等于 2、3 或 12玩家输了。任何其他金额,游戏将继续,并且总和将成为玩家的“积分
我尝试在 Python IDLE 上执行以下代码 from __future__ import braces 我收到以下错误: SyntaxError: not a chance 上面的错误是什么意思
新手问题在这里: 给定以下 XML 摘录: abc 当我在 child3 上下文中时,我可以使用 preceding-sibling::* 获取 child2 节点。好的。 在
到底什么是第一次机会异常?它是如何以及在哪里起源于 .NET 程序的?为什么它被称为这个奇特的名字(我们谈论的是什么“机会”)? 最佳答案 这是一个调试概念。基本上,异常首先被抛出到调试器,然后到实际
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Avoiding first chance exception messages when the exce
我一直在学习 c#,我想开始一个美式足球模拟器的实验性控制台应用程序项目。这个项目有机会是至关重要的。 Example: there's a 20% chance the kicker will su
例如,在消息中: First-chance exception at 0x757bd36f in foo.exe: Microsoft C++ exception: _ASExceptionInfo
突然我的代码开始抛出异常 VideoPlayer.exe 中 0x7731c41f 处的第一次机会异常:Microsoft C++ 异常:内存位置 0x0018f5dc 处的 GenICam::Run
我有以下示例 html 文件,其中包含 Zap Chance 字体。 @font-face {
我写了一个简单的程序,它将数据从一个模块的二维数组发送到另一个模块,但是它似乎不起作用,我也不确定为什么。这是我的代码: 服务器.h #include #include "stdafx.h" usi
我的 Windows 应用程序使用了以下用于打开文件的 C++/MFC 代码: CFileDialog fd(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVER
我使用 windbg 调试故障转储,在 windbg 的以下输出中,您可以看到“first/second chance not available”,为什么 first/second chance 不
我在 C# 代码中需要一些关于 percent chance 的帮助。假设我有一个从 1 到 100 的 for 循环,在那个循环中我有一个“if”代码,我想执行 70% 次(随机)。我将如何实现这一
我完成了我的小应用程序,我正在努力确保我没有内存泄漏和错误。查看我的输出后,我注意到我的一个函数抛出了 First-Chance 异常,但该函数运行良好并且没有崩溃。 该函数调用 CLR C++ DL
很奇怪,我一直认为我们应该总是将 high chance 子句放在嵌套 if-els 的前面,直到今天。 简要设置: 数组 Zoo[] 包含 5 类的 10,000 个对象,基于权重,例如4,3,2,
假设有一个功能分支'my-feature'。在我开发该功能时,有人将它从“我的功能” merge 到“主控”中。因为这是一个快进 merge ,所以没有提交。我所做的一些更改还没有准备好用于 mast
我假设网卡处理 TCP 确认。但在确认之后,直到数据包到达应用层,是否有任何机会,数据包因任何原因被丢弃。 最佳答案 I assume that network card handles the tc
我是一名优秀的程序员,十分优秀!