c#随机数问题

本文关键字:问题 随机数 | 更新日期: 2023-09-27 17:49:30

我有这个代码,应该生成1到100之间的数字:

int aux;
aux = Game1.rand.Next(101);
if (aux <= 20)
{
     Trace.WriteLine(aux);
     seeker = true;
}

问题是我每次得到的值都小于20。如果我在If语句中将20改为30,我得到的总是小于或等于30的数字。我怎样才能克服这个问题?谢谢你。

c#随机数问题

您需要将 Trace.WriteLine(aux); 放在 if语句之前,以便它可以写出20(或30,视情况而定)以上的任何数字:

int aux;
aux = Game1.rand.Next(101);
Trace.WriteLine(aux);
if (aux <= 20)
{
  seeker = true;
  //...
}

试试

int aux;
aux = Game1.rand.Next(101);
Trace.WriteLine(aux);

你得到低于或等于20的值仅仅是因为你有if()子句确切地说你需要低于或等于20的值