3

次のような配列ごとにのみ0または1を生成しようとしています。

int[] x = new int [10];

0 または 1 の 10 個の数値を生成したいのですが、すべてが 0 であってはなりません。

それは次のようなものです:

Random binaryrand = new Random(2);

ありがとうございました。

4

3 に答える 3

3

Random.Next(Int32, Int32)次のような方法でそれを行うことができます。

int[] x = new int[10];
Random r = new Random();

while (x.Any(item => item == 1) == false)
{
    for (int i = 0; i < x.Length; i++)
    {
         x[i] = r.Next(0, 2);
    }
}

for (int i = 0; i < x.Length; i++)
{
   Console.WriteLine(x[i]);
}

出力例;

0
0
0
1
1
1
0
1
1
0

ここにDEMO.

Random.Next(Int32, Int32)メソッドでは、下限は包括的ですが、上限は排他的であることを忘れないでください。

于 2013-07-22T09:05:13.077 に答える
2

あなたの電話

Random binaryrand = new Random(2);

で乱数発生器を作成するとseed=2、このコードを実行するたびに同じ数列が生成されます。は2、生成される数値の範囲とは関係ありません。

使用する

 Random binaryrand = new Random();  // auto seed

 ...

    int x = binaryrand.Next(2);
于 2013-07-22T09:14:51.220 に答える