次のような配列ごとにのみ0または1を生成しようとしています。
int[] x = new int [10];
0 または 1 の 10 個の数値を生成したいのですが、すべてが 0 であってはなりません。
それは次のようなものです:
Random binaryrand = new Random(2);
ありがとうございました。
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)
メソッドでは、下限は包括的ですが、上限は排他的であることを忘れないでください。
あなたの電話
Random binaryrand = new Random(2);
で乱数発生器を作成するとseed=2
、このコードを実行するたびに同じ数列が生成されます。は2
、生成される数値の範囲とは関係ありません。
使用する
Random binaryrand = new Random(); // auto seed
...
int x = binaryrand.Next(2);