我试图制作随机数生成器,并希望它包含数字数组中的最大值,我所做的是使用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();
}
}
}
答案 0 :(得分:2)
Math.Abs()
调用是不必要的,并且使代码无法正常工作以获得负最大数字。否则,您正在做的事情应该完全按预期工作。只需将antras
增加一个。
antras += 1;
编辑:
正如Haukinger建议的那样,最好不要修改最大值(antras
),而是仅修改对Random.Next()
的调用。
int end = generator.Next(pirmas, antras + 1);