for (int j = 0; j < 10; j++)
            {
                for (int i = 1; i <= 3000; i++)
                {
                    if (i % 1000 == 0)
                    {
                         我想i到1000的时候中断i的循环,跳到j循环。接着循环到i的时候接着1000开始循环
                    }
                    else
                    {
                        MessageBox.Show("w");
                    }
                }
            }大概运行方式
开始j循环等于0,i循环到1000的时候跳到j循环,j等于2,在循环i 的时候接着1000开始循环怎么实现?

解决方案 »

  1.   

    1.跳出循环可以使用break;
    2.内循环中i的初始值设为j*1000。开始j循环等于0,i循环到1000的时候跳到j循环,j等于2,在循环i 的时候接着1000开始循环 
    --------------------------
    j等于1的那个循环呢?要怎么处理?
      

  2.   

     int num = 0;
                int count = 1;
                for (int j = num; j < 10; j++)
                {
                    for (int i = count; i <= 30; i++)
                    {
                        if (i == 10)
                        {
                            num = j+1;
                            count = i;
                            break;
                        }
                    }
                }你看看行不行 不是很明白你说的意思
      

  3.   

    for (int j = 0; j < 10; j++)
                {int k =1;
                    for (int i = k; i <= 3000; i++)
                    {
                        if (i % 1000 == 0)
                        {
                            break;
                        }
                        else
                        {
                            MessageBox.Show("w");
                        }
                        k++;
                    }
                } 
      

  4.   

    同意楼上的做法,break会结束当前的循环
      

  5.   

    k = 1; 要放在最外面:
                int k = 1;
                for (int j = 0; j < 10; j++) 
                { 
                    for (int i = k; i <= 3000; i++) 
                    { 
                        if (i % 1000 == 0) 
                        { 
                            break; 
                        } 
                        else 
                        { 
                            MessageBox.Show("w"); 
                        } 
                        k++; 
                    } 
                } 
      

  6.   

     
    2.内循环中i的初始值设为j*1000。
    那么
    j等于1的那个循环呢?要怎么处理? 
    就把初值设为2j*1000
      

  7.   

    考虑了一下,其实 k 这个变量没有必要,直接用 i 就好了:
                int i = 1;
                for (int j = 0; j < 10; j++) 
                { 
                    for (; i <= 3000; i++) 
                    { 
                        if (i % 1000 == 0) 
                        { 
                            break; 
                        } 
                        else 
                        { 
                            MessageBox.Show("w"); 
                        } 
                    } 
                } 
      

  8.   


            int k = 1;        for (int j = 0; j < 10; j++) 
              {
                for (int i = k; i <= 3000; i++) 
                  { 
                     if (i % 1000 == 0) 
                     { 
                         j++;
                         break; 
                     } 
                     else 
                     { 
                         MessageBox.Show("w"); 
                     } 
                     k++;
                  } 
              }