随机数gen,循环和存储

时间:2011-04-17 16:04:39

标签: c#

我如何实现这一点,因此它总是十个数字,我将如何存储n和r,循环10次,并存储每个循环?

循环随机生成器10x以创建2x10个多个10位数字。

namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {

            F();
            F();
        }

        static Random _r = new Random();
        static void F()
        {

            int n = _r.Next();
            int r = _r.Next();

            Console.WriteLine(n);
            Console.WriteLine(r);
            Console.ReadLine();
        }
}

2 个答案:

答案 0 :(得分:3)

这样的东西可能就是你想要的东西吗?

虽然我并不热衷于命名惯例,但我不确定这些是什么适用于,所以不能确切地将它们命名为相关的......

static int[] randomNumberArray0 = new int[10];
static int[] randomNumberArray1 = new int[10];
static Random random = new Random();

static void PopulateRandomNumberArrays()
{
    for (int i = 0; i < 10; i++)
    {
        randomNumberArray0[i] = random.Next();
        randomNumberArray1[i] = random.Next();
    }
}

更新

要执行此方法,请稍后再输出值,请尝试以下操作:

static void PrintRandomNumberArrayValues(int[] array)
{
    for (int i = 0; i < array.Length; i++)
    { 
        Console.WriteLine("{0}", array[i]);
    }
    Console.WriteLine();
}

static void Main()
{
    PopulateRandomNumberArrays();

    PrintRandomNumberArrayValues(randomNumberArray0);
    PrintRandomNumberArrayValues(randomNumberArray1);

    Console.WriteLine("Press any key to exit...");
    Console.ReadKey();
}

输出看起来像这样:

2044334973
153458690
1271210885
734397658
746062572
162210281
1091625245
123317926
410432738
989880682

866647035
481104609
834599031
1153970253
94252627
1041485031
1934449666
414036889
1886559958
2083967380

进一步更新:

有关所生成的值被约束到的长度为10位数字,这意味着最小生成的值必须大于999999999,并且由于一个int具有一个最大值2,147,483,647 ,小于或等于,所以:

for (int i = 0; i < 10; i++)
{
    randomNumberArray0[i] = random.Next(1000000000, int.MaxValue);
    randomNumberArray1[i] = random.Next(1000000000, int.MaxValue);
}

我有一种感觉,这可能仍无法满足您的需求虽然,因为我看到接下来会是这些数字应该可以被表示为0000000001,例如 - 让我们来看看

又一次更新:

正如我想的那样,数字的值不应该被限制在我们指定的范围内,而是仅限于适当格式化的输出;因此,生成恢复到我原来的建议,并且打印被改变为:

Console.WriteLine("{0:D10}", array[i]);

答案 1 :(得分:1)

我猜您可以使用元组列表来存储和返回结果:

static List<Tuple<int,int>> F()
{
    var results = new List<Tuple<int,int>> ();
    for (int i = 0; i < 10; i++)
    {
        results.Add(new Tuple<int, int>(_r.Next(), _r.Next()));
    }
    return results;
}