我在c#中使用随机数字填充数组,但我无法使其工作。
int[,] array = new int[10, 5];
int x, y;
x = 0;
y = 0;
while (y <= 5)
{
Random r = new Random();
int rand = r.Next(-50, 50);
array[x, y] = rand;
if (x == 10)
{
x = 0;
y++;
}
x++;
}
答案 0 :(得分:4)
使用嵌套的for
循环,它更容易:
Random rnd = new Random();
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 5; j++)
{
array[i, j] = rnd.Next(-50, 50);
}
}
您的while
循环无法读取,但它是正确的,除非您应在(y <= 5)
更改为while (y < 5)
,否则您将获得IndexOutOfRangeException
。您应该在循环之外定义Random
实例。
答案 1 :(得分:0)
int[,] array = new int[10, 5];
int x = 0, y = 0;
Random r = new Random();
while (y < 5)
{
int rand = r.Next(-50, 50);
array [x, y] = rand;
x++;
if (x == 10)
{
x = 0;
y++;
}
}
答案 2 :(得分:0)
你需要改变你的if或数组声明到
int[,] array = new int[11, 6];
还有其他问题,你需要在
之前创建随机 Random r = new Random();
while (y <= 5)
{
打印出可用于
的值 for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
Console.WriteLine(array[i, j]);
}
答案 3 :(得分:0)
试试这个:
int[,] array = new int[10, 5];
Random rnd = new Random();
for (int row = 0; row < 10; row++)
{
for (int col = 0; col < 5; col++)
{
array[row, col] = rnd.Next(-50, 50);
}
}
答案 4 :(得分:0)
int[,] array = new int[10, 5];
int x, y;
x = 0;
y = 0;
while (y < 5)
{
Random r = new Random();
int rand = r.Next(-50, 50);
array[x, y] = rand;
if (x == 9)
{
x = 0;
y++;
}
x++;
}
让我们看看这是否有效。