制作简单的数学应用程序给出循环错误

时间:2015-05-08 03:25:38

标签: c# arrays math for-loop int

我试图自动解决这个数学:

__ + __ + __ = 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";
                    }
                }
            }
        }
    }

但是当我点击按钮来计算时我得到了这个错误:未处理的类型&#39; System.IndexOutOfRangeException&#39;发生在app.exe

P.S。:请不要破坏我的答案。

2 个答案:

答案 0 :(得分:0)

更改代码

for (int k = 0; j < nums.Length; k++)

for (int k = 0; k < nums.Length; k++)

答案 1 :(得分:0)

  

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++)
            {

/ *可能是&gt;&gt; for(int k = 0; k&lt; nums.Length; k ++)* /

                if ((nums[i] + nums[j] + nums[k]) == 30)
                {
                    result.Text += nums[i] + nums[j] + nums[k] + "\r\n";
                }
            }
        }
    }
}

:)