如何使我的数字生成器包含最大值? C#

时间:2016-02-14 09:34:05

标签: c# random

我试图制作随机数生成器,并希望它包含数字数组中的最大值,我所做的是使用math.abs,我不知道我是否实现了我想要的...所以这是我的代码:

using System;

namespace _7
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello this is random number generator!");
            Console.WriteLine("Enter min number:");
            int pirmas = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("enter max number:");
            int antras = Convert.ToInt32(Console.ReadLine());
            antras = Math.Abs(antras + 1);
            Random generator = new Random();
            Console.WriteLine("Generated number is:");
            int end = generator.Next(pirmas, antras);
            Console.WriteLine(end);
            Console.ReadKey();    
        }
    }
}

1 个答案:

答案 0 :(得分:2)

Math.Abs()调用是不必要的,并且使代码无法正常工作以获得负最大数字。否则,您正在做的事情应该完全按预期工作。只需将antras增加一个。

antras += 1;

编辑: 正如Haukinger建议的那样,最好不要修改最大值(antras),而是修改对Random.Next()的调用。

int end = generator.Next(pirmas, antras + 1);