C# C语言中的乘法表#
我对C#(以及一般的编程)还不熟悉,我被困在学校的实验室里。 我一直在试着做乘法表1-10,但是我犯了一个我不明白的错误 我用System.Array得到了这个;使用System.Linq;那么我做错了什么?我可能什么都没做对呵呵C# C语言中的乘法表#,c#,C#,我对C#(以及一般的编程)还不熟悉,我被困在学校的实验室里。 我一直在试着做乘法表1-10,但是我犯了一个我不明白的错误 我用System.Array得到了这个;使用System.Linq;那么我做错了什么?我可能什么都没做对呵呵 static void Calculate(int[] numbers) { int[] CalculateMultTable = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
static void Calculate(int[] numbers)
{
int[] CalculateMultTable = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Calculate(CalculateMultTable);
{
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = numbers[i] * numbers[i];
}
}
}
静态无效计算(int[]个数字)
{
int[]CalculateMultTable=新的int[10]{1,2,3,4,5,6,7,8,9,10};
计算(CalculateMiltTable);
{
for(int i=0;i
您的代码永远不会工作,这是一个递归循环,没有任何条件可以逃避它。按如下所示更改cose并将其工作:
static void Calculate(int[] numbers)
{
var CalculateMultTable = new int[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (var i = 0; i < numbers.Length; i++)
numbers[i] = numbers[i]*numbers[i];
//Do what you want
}
静态无效计算(int[]个数字)
{
var CalculateMultTable=新整数[10]{1,2,3,4,5,6,7,8,9,10};
对于(变量i=0;i
您的代码永远不会工作,这是一个递归循环,没有任何条件可以逃避它。按如下所示更改cose并将其工作:
static void Calculate(int[] numbers)
{
var CalculateMultTable = new int[10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (var i = 0; i < numbers.Length; i++)
numbers[i] = numbers[i]*numbers[i];
//Do what you want
}
静态无效计算(int[]个数字)
{
var CalculateMultTable=新整数[10]{1,2,3,4,5,6,7,8,9,10};
对于(变量i=0;i
您正在通过调用Calculate(CalculateMultTable)创建一个无限循环,可能会创建StackOverflow异常。函数将自动调用,直到内存耗尽
如果删除该行,它将起作用,但它只会创建乘法两边相同的条目。例如,1*1、2*2、*3*3等等。我希望这是你的意图
static void Calculate(int[] numbers)
{
int[] CalculateMultTable = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
{
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = numbers[i] * numbers[i];
}
}
}
静态无效计算(int[]个数字)
{
int[]CalculateMultTable=新的int[10]{1,2,3,4,5,6,7,8,9,10};
{
for(int i=0;i
您正在通过调用Calculate(CalculateMultTable)创建一个无限循环,可能会创建StackOverflow异常。函数将自动调用,直到内存耗尽
如果删除该行,它将起作用,但它只会创建乘法两边相同的条目。例如,1*1、2*2、*3*3等等。我希望这是你的意图
static void Calculate(int[] numbers)
{
int[] CalculateMultTable = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
{
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = numbers[i] * numbers[i];
}
}
}
静态无效计算(int[]个数字)
{
int[]CalculateMultTable=新的int[10]{1,2,3,4,5,6,7,8,9,10};
{
for(int i=0;i
正如其他答案所指出的,您正在进行一个无限递归调用,并且可能会得到一个StackOverflowException
。另外,我也不知道你在用你的数组做什么。你应该被分配到它里面吗?它只是为了帮助循环打印正确的数字吗?您可以这样做:
for(int i = 1; i <= 10; i++)
{
for(int j = 1; j <= 10; j++)
{
Console.Write((i * j).ToString() + "\t");
}
Console.WriteLine();
}
如果要将其保存到2D数组中,可以去掉我的Console.WriteLine
并用如下代码替换Console.Write
:
int[,] multTable = new int[10,10];
for(int i = 1; i <= 10; i++)
{
for(int j = 1; j <= 10; j++)
{
multTable[i - 1, j - 1] = i * j;
}
}
正如其他答案所指出的,您正在进行一个无限递归调用,并且可能会得到一个
StackOverflowException
。另外,我也不知道你在用你的数组做什么。你应该被分配到它里面吗?它只是为了帮助循环打印正确的数字吗?您可以这样做:
for(int i = 1; i <= 10; i++)
{
for(int j = 1; j <= 10; j++)
{
Console.Write((i * j).ToString() + "\t");
}
Console.WriteLine();
}
如果要将其保存到2D数组中,可以去掉我的Console.WriteLine
并用如下代码替换Console.Write
:
int[,] multTable = new int[10,10];
for(int i = 1; i <= 10; i++)
{
for(int j = 1; j <= 10; j++)
{
multTable[i - 1, j - 1] = i * j;
}
}
int[]CalculateMultTable=newint[10]{1,2,3,4,5,6,7,8,9,10};
int[][]表=新int[10][];
对于(int i=0;i<10;i++)
{
表[i]=新整数[10];
对于(int j=0;j<10;j++)
{
表[i][j]=CalculateMultTable[j]*(i+1);
}
}
只需使用1,2,3…初始化1D数组。。。。
在两个for循环中,只需将CalculateMultTable
索引处的值与行号简单相乘即可 int[]CalculateMultTable=newint[10]{1,2,3,4,5,6,7,8,9,10};
int[][]表=新int[10][];
对于(int i=0;i<10;i++)
{
表[i]=新整数[10];
对于(int j=0;j<10;j++)
{
表[i][j]=CalculateMultTable[j]*(i+1);
}
}
只需使用1,2,3…初始化1D数组。。。。
在两个for循环中,只需将
CalculateMultTable
索引处的值与行号简单相乘即可 没有人提到基于LINQ的解决方案:)
显然,我在谷歌上找不到任何搜索结果,所以我找到了以下代码,希望对其他人也有用:
var n = Enumerable.Range(0, 10);
var m = n.Select( n1 => n.Select(n2 => n1 * n2 ).ToArray() ).ToArray();
var result_will_be_10 = m[2][5];
var result_will_be_56 = m[8][7];
var result_will_be_81 = m[9][9];
没有人提到基于LINQ的解决方案:) 显然,我在谷歌上找不到任何搜索结果,所以我找到了以下代码,希望对其他人也有用:
var n = Enumerable.Range(0, 10);
var m = n.Select( n1 => n.Select(n2 => n1 * n2 ).ToArray() ).ToArray();
var result_will_be_10 = m[2][5];
var result_will_be_56 = m[8][7];
var result_will_be_81 = m[9][9];
错误是什么?另外,如果你包含了整个函数也会有帮助-你肯定缺少了一些右括号,这让我想知道是否还有更多的错误。我一下子就发现了3个错误(包括拼写错误
长度),但是你应该在你的问题上投入更多的精力。告诉我们您希望输出是什么(例如,您希望如何存储和显示它)、您收到了什么错误消息以及您尝试了什么来克服它。你知道,让我们觉得我们是在帮你,而不是帮你做家庭作业。没必要压垮这个家伙。他是新来的,是个新的程序员。这是一个很大的认知负荷。行号左边是一个灰色区域。找到声明CalculateMultTable的行。点击灰色a