我正在尝试使我的程序输出1或-1这是我的代码到目前为止,它的唯一输出是-1.它根本不是随机的.
Random rnd = new Random();
int L = rnd.Next(0, 1);
if (L == 0)
{
Console.WriteLine(-1);
}
else
{
Console.WriteLine(1);
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 12
第二个参数Random.Next(int, int)给出了一个独占上限.所以你说你想要一个大于或等于0且小于1的整数.这不会为0以外的数字提供很多范围:)
从文档:
返回值
类型:System.Int32
大于或等于minValue且小于maxValue的32位有符号整数; 也就是说,返回值的范围包括minValue但不包括maxValue.如果minValue等于maxValue,则返回minValue.
您还应该阅读我关于随机性的文章以避免其他常见问题.
rnd.Next(0, 1)返回i范围中的值0 <= i < 1.唯一这样的价值是0.
看看文档:
minValue(最小值)
键入:System.Int32
返回的随机数的包含下限.
包括maxValue
键入:System.Int32
返回的随机数的独占上限.maxValue必须大于或等于minValue.
请注意,它minValue是包含的,并且maxValue是独占的.因此,更一般地说,这个next()范围内的返回值重载:
minValue <= i < maxValue
Run Code Online (Sandbox Code Playgroud)
如果您不了解术语,在不平等,包容性手段<=或>=排他性手段<或背景下>.
好吧,如果minValue == maxValue,上面的不等式并不严格,但为了更清晰的说明,我选择忽略那个角落的情况.
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |