gpt4 book ai didi

c# - 如何从键盘设置二维数组中的值

转载 作者:行者123 更新时间:2023-11-30 17:48:11 28 4
gpt4 key购买 nike

我正在为学校编写一些 C# 代码。但是有一个非常令人头疼的练习。

就是这样:我必须开发一个代码,允许用户通过键盘为二维数组 (5x5) 设置一个值(输入 x)。这意味着当运行程序时,用户应该能够在数组中设置一个值,比如“我想在 2,5 和 3,1 中设置一个“x””。我只是不知道该怎么做。已经两周了,但我想不通。

这是我目前所拥有的(已更新,感谢所有人,特别是 BradleyDotNET 的支持):

int[,] data = new int[5, 5]; 

public void load()
{
string[] input = Console.ReadLine().Split('=');
string[] coordinates = input[0].Split(',');

int[] intCoordinates = coordinates.Select(s => int.Parse(s)).ToArray();

data[intCoordinates[0]][intCoordinates[1]] = int.Parse(input[1]);
}

public void view()
{
Console.WriteLine("Matrix created is:");
for (int i = 0; i <= 4; i++)
{
Console.Write("\n");
for (int j = 0; j <= 4; j++)
{
Console.Write(data);
}
}
Console.ReadKey();
}


static void Main(string[] args)
{

Program objeto = new Program();
objeto.load();
objeto.view();

Console.ReadKey();

Console.Clear();

我还必须添加一项功能,让用户可以根据需要向矩阵中添加任意数量的“x”,但我打算通过“开关”来实现。

那么,如何通过键盘在二维数组中设置值?

更新:我在这里遇到的错误是在第 10 行的“数据”内。它说“[] 内的索引号不正确。预期为 2”

最佳答案

您没有指定输入的格式,所以我会补一个。如果输入是“2,4=10”(意思是将元素 [2][4] 设置为 10),代码将是:

string[] input = Console.ReadLine().Split('=');
string[] coordinates = input[0].Split(',');

int[] intCoordinates = coordinates.Select(s => int.Parse(s)).ToArray();

matrix[intCoordinates [0]][intCoordinates [1]] = int.Parse(input[1]);

这段代码有一些问题,没有范围验证,如果用户输入除 int 以外的任何内容,它将抛出异常。我会将这些作为练习留给您,但如果您遇到麻烦,请随时询问。

为了解释,我们使用 Console.ReadLine 来获取整行输入。然后我们在 '=' 字符上打破它以获得我们的坐标和所需的值。然后我们将坐标拆分为 ',' 以获得不同的索引。

您不能将字符串用作数组索引,因此我们调用 Select 以在每个字符串上调用 int.Parse() 函数,返回一个新的整数数组。

最后,我们使用解析后的索引对 matrix 进行索引,并将其设置为来自输入的解析后的值。

关于c# - 如何从键盘设置二维数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23415479/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com