为什么是rnd。下一个不给我最大值

问题描述 投票:0回答:1

运行该程序时,随机生成的数字永远不会产生x的值。如果输入的是6面骰子,则滚动10次,而不是10中的单个掷骰子将达到6,只有5。

internal static class Program
{
    public static void Main(string[] args)
    {
        Console.Write("Number of Dice Sides: ");
        var input = Console.ReadLine();
        if (!int.TryParse(input, out var x))
        {
            Console.WriteLine("That wasn't a valid number.");
            Console.ReadLine();
            return;
        }
        Console.Write("How many rolls? ");
        var rolls = Console.ReadLine();
        if (!int.TryParse(rolls, out var y))
        {
            Console.WriteLine("That wasn't a valid number.");
            Console.ReadLine();
            return;
        }
        Console.Clear();
        Console.WriteLine($"{input} sided dice rolling {rolls} times");
        var rnd = new Random();
        for (var i = 0; i < y; i++)
            Console.WriteLine(rnd.Next(1, x));
        Console.Read();

    }
}

}

c# new-operator
1个回答
0
投票

.Next()返回下限包含和上限排除。

在符号中:

min <= x < max

其中x将返回的内容。

© www.soinside.com 2019 - 2024. All rights reserved.