制作简单的数学应用程序在循环中给出错误
Making simple mathematical application giving error on loop
我正在尝试自动解决这个数学问题:
__ + __ + __ = 30,空格用(1, 3, 5, 7, 9, 11, 13, 15)填空,也可以重复数字。
我制作了这段代码:
int[] nums = { 1, 3, 5, 7, 9, 11, 13, 15 };
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < nums.Length; i++)
{
for (int j = 0; j < nums.Length; j++)
{
for (int k = 0; j < nums.Length; k++)
{
if ((nums[i] + nums[j] + nums[k]) == 30)
{
result.Text += nums[i] + nums[j] + nums[k] + "\r\n";
}
}
}
}
}
但是当我点击按钮进行计算时出现这个错误:'System.IndexOutOfRangeException' 类型的未处理异常发生在 app.exe
P.S.: 请不要破坏我的答案。
更改代码
for (int k = 0; j < nums.Length; k++)
至
for (int k = 0; k < nums.Length; k++)
int[] nums = { 1, 3, 5, 7, 9, 11, 13, 15 };
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < nums.Length; i++)
{
for (int j = 0; j < nums.Length; j++)
{
/* check conditional statement value of k exceeds length of the num element array*/
for (int k = 0; j< nums1.Length; k++)
{
/* 可能是 >> for(int k=0; k < nums.Length; k++) */
if ((nums[i] + nums[j] + nums[k]) == 30)
{
result.Text += nums[i] + nums[j] + nums[k] + "\r\n";
}
}
}
}
}
:)
我正在尝试自动解决这个数学问题:
__ + __ + __ = 30,空格用(1, 3, 5, 7, 9, 11, 13, 15)填空,也可以重复数字。
我制作了这段代码:
int[] nums = { 1, 3, 5, 7, 9, 11, 13, 15 };
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < nums.Length; i++)
{
for (int j = 0; j < nums.Length; j++)
{
for (int k = 0; j < nums.Length; k++)
{
if ((nums[i] + nums[j] + nums[k]) == 30)
{
result.Text += nums[i] + nums[j] + nums[k] + "\r\n";
}
}
}
}
}
但是当我点击按钮进行计算时出现这个错误:'System.IndexOutOfRangeException' 类型的未处理异常发生在 app.exe
P.S.: 请不要破坏我的答案。
更改代码
for (int k = 0; j < nums.Length; k++)
至
for (int k = 0; k < nums.Length; k++)
int[] nums = { 1, 3, 5, 7, 9, 11, 13, 15 };
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < nums.Length; i++)
{
for (int j = 0; j < nums.Length; j++)
{
/* check conditional statement value of k exceeds length of the num element array*/
for (int k = 0; j< nums1.Length; k++)
{
/* 可能是 >> for(int k=0; k < nums.Length; k++) */
if ((nums[i] + nums[j] + nums[k]) == 30)
{
result.Text += nums[i] + nums[j] + nums[k] + "\r\n";
}
}
}
}
}
:)