输入两个值到一个2 × 3矩阵中
本文关键字:两个 输入 一个 | 更新日期: 2023-09-27 18:06:42
我试图输入两个值作为一个2 × 3矩阵,但不断得到错误'字符串不是在正确的格式',这段代码已经为其他问题工作,但不是现在,有什么建议吗?
int test = Convert.ToInt32(Console.ReadLine());
int[,] nutjob = new int[2, 3];
for(int i = 0; i < 3; i++ )
{
for(int o = 0; o < 2; o++)
{
nutjob[o,i] = int.Parse(Console.ReadLine().Split());
}
}
Split
返回string
s数组,该数组与您试图做的int
解析不兼容。尝试预先存储它并稍后访问它,就像这样(输入到values
的值,稍后使用):
int test = Convert.ToInt32(Console.ReadLine());
int[,] nutjob = new int[2, 3];
string[] values = Console.ReadLine().Split();
for(int i = 0; i < 3; i++ )
{
for(int o = 0; o < 2; o++)
{
nutjob[o, i] = int.Parse(values[i * 2 + o]);
}
}
您可以选择逐行获取数字,如:
nutjob[o, i] = int.Parse(Console.ReadLine());
如果你想把它作为一个矩阵输入你可能还需要那个,它将输入列,一行一行:
int test = Convert.ToInt32(Console.ReadLine());
int[,] nutjob = new int[2, 3];
for(int i = 0; i < 3; i++ )
{
string[] values = Console.ReadLine().Split();
for(int o = 0; o < 2; o++)
{
nutjob[o, i] = int.Parse(values[o]);
}
}
/*
* Input like:
* 3 4
* 5 7
* 2 6
*/
string.Split
返回一个字符串数组,而int.Parse
不接受字符串数组,这就是为什么会看到一个异常。
你只需要下面,但要注意非整型输入可能会导致异常。
nutjob[o,i] = int.Parse(Console.ReadLine());
使用说明:int.Parse (Console.ReadLine()。分割(' '));