问答详情
源自:5-8 编程练习

报错问题?

System.IndexOutOfRangeException:“Index was outside the bounds of the array.”请问这个报错是什么问题呀

代码没有问题

 static void Main(string[] args)

        {

            int[] num = new int[] { 3, 34, 43, 2, 11, 19, 30, 55, 20 };

            bool hasit = false;

            foreach(int i in num)

            {

                if (num[i] % 7 == 0)

                {

                    hasit = true;

                    break;

                }

            }

            if (hasit)

            {

                Console.Write("有七的倍数");

            }

            else

            {

                Console.Write("没有七的倍数");

            }

        }

    }


提问者:慕用00838 2020-02-15 20:50

个回答

  • 慕标9143799
    2020-10-20 14:07:47

    感觉你是多了一个}吧。删一个试试

  • 肖广
    2020-04-02 20:05:52

    楼上的两位是对的,你用的是foreach,意思就是变量i得到的是num数组里的每个值,所以要用i%7==0.

  • weixin_慕少4105335
    2020-03-13 18:53:17

    你num已经赋值给i了  

    if (num[i] % 7 == 0)

    改成

    if (i % 7 == 0)


  • 慕运维6352703
    2020-02-18 15:43:40

    if (num[i] % 7 == 0)

    改成

    if (i % 7 == 0)