我有一些代码可以在一个范围内为我的整数生成随机数,但我也希望实现它,这样当它生成下一个数字时,它不能大于先前生成数字的任何一方。
因此,例如,如果我的rbp生成的值为140,则下一个将介于137和143之间。
我不确定如何实现这个目标?
timer1.Interval = 1000;
Random r = new Random();
int rbp = r.Next(89, 260);//BP
int rhr = r.Next(39, 131);//HR
int rrr = r.Next(8, 25);//RR
int ros = r.Next(90, 120);//OS
double rtemp = r.Next(34, 40);//Temp
答案 0 :(得分:2)
假设您使用变量rbp
:
int rbp = r.Next(89,260);
下次生成rbp
时,您可以将范围基于rbp
的值:
rbp = r.Next(rbp - 3 < 89 ? 89 : rbp - 3, rbp + 3 > 260 ? 260 : rbp + 3);
在此,我确保范围永远不会低于89或高于260.
示例:
Random r = new Random();
int rbp = r.Next(89, 260);
Console.WriteLine(rbp);
for (int i = 0; i < 10; i++)
{
rbp = r.Next(rbp - 3 < 89 ? 89 : rbp - 3, rbp + 3 > 260 ? 260 : rbp + 3);
Console.WriteLine(rbp);
}
Console.ReadLine();