C# 将随机值保存到二维数组中
如何使用random在数组中打印和保存随机值。C# 将随机值保存到二维数组中,c#,arrays,C#,Arrays,如何使用random在数组中打印和保存随机值。 所以我需要一个10x10行表,其中包含0-9之间的随机值,但我似乎找不到一种方法来打印它们 int[,] mas = new int[9,9]; Random rand = new Random(); for (int i = 0; i <mas.Length; i++) { mas[i] = rand.Next(0,9); Co
所以我需要一个10x10行表,其中包含0-9之间的随机值,但我似乎找不到一种方法来打印它们
int[,] mas = new int[9,9];
Random rand = new Random();
for (int i = 0; i <mas.Length; i++)
{
mas[i] = rand.Next(0,9);
Console.WriteLine(mas[i]);
for (int k = 0; k < mas.Length; k++)
{
mas[k] = rand.Next(0,9);
Console.WriteLine(mas[k]);
}
}
int[,]mas=新的int[9,9];
Random rand=新的Random();
对于(int i=0;i您的代码中有一个小问题:您创建的数组有两个维度(int[9,9])。因此,无论何时您要读取或写入单元格,都需要提供两个坐标。您只需设置mas[i]或mas[k]
您应该在内部循环中使用max[i,k]
。这样,每个坐标组合都将被尝试
无关:您提到您想要一个10x10的单元格网格,但声明int[9,9]
。当数组索引从0开始时,大小从1开始。例如,如果您创建一个数组a=int[2],那么它只包含int[0]和int[1]处的条目
类似地,Random.Next(…)
函数的最大参数是独占的,因此要获得值9,需要传递最大值10。如果您想要2D数组(即,您有两个坐标:行-i
和列-j
),嵌套循环是通常的选择:
Random rand = new Random();
int[,] mas = new int[9, 9];
for (int i = 0; i < mas.GetLength(0); ++i)
for (int j = 0; j < mas.GetLength(1); ++j)
mas[i, j] = rand.Next(0, 10); // 10 will not be included, range [0..9]
Random rand=new Random();
int[,]mas=新的int[9,9];
对于(int i=0;i
让我们打印阵列:
for (int i = 0; i < mas.GetLength(0); ++i) {
for (int j = 0; j < mas.GetLength(1); ++j) {
Console.Write(mas[i, j]);
Console.Write(' '); // <- delimiter between columns
}
Console.WriteLine(); // <- delimiter between lines
}
for(inti=0;i Console.Write(“”);//另外,请注意mas.length返回数组的总长度,这将使用您的代码为您提供IndexOutOfRangeException。请使用mas.GetLength而不是mas.length
GetLength(0)->获取第一个维度的大小
GetLength(1)->获取第二维度大小
因此,您的代码如下所示:
int[,] mas = new int[9, 9];
Random rand = new Random();
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int k = 0; k < mas.GetLength(1); k++)
{
mas[i, k] = rand.Next(0, 9);
Console.Write(mas[i, k] + " ");
}
Console.WriteLine();
}
int[,]mas=新的int[9,9];
Random rand=新的Random();
对于(int i=0;i
可能是这样
int[,] mas = new int[10, 10];
Random rand = new Random();
for (int i = 0; i < mas.GetLength(0); i++)
{
for (int k = 0; k < mas.GetLength(1); k++)
{
mas[i,k] = rand.Next(0, 9);
Console.Write(mas[i,k]);
}
Console.WriteLine("\n");
}
他总是写新行,一些你不想要的东西,因为你想打印10个数字,然后用另一行写新行,等等
Consolo.Writeline(string);