C#循环播放X次后如何破解?

时间:2014-03-16 18:32:16

标签: c# loops break

很快,如何在打印20个数字后停止以下代码?

由于

    static void Main(string[] args)
    {
        int num1 = 4;
        int num2 = 7;

        for (int i = 200; i < 2000; i++)
        {
            if ((i % num1 == 0) && (i % num2 ==0))
            {
                Console.WriteLine(i);
            }
        }
        Console.Read();
    }

我试着写&#34;休息&#34;在&#34; Console.WriteLine(i)之后;&#34;但是它只打印了一个数字,我需要20个。

由于

3 个答案:

答案 0 :(得分:3)

您需要跟踪已打印出的数量,然后在足够数量后突破循环:

int counter = 0;
for (int i = 200; i < 2000; i++)
{
     if ((i % num1 == 0) && (i % num2 ==0))
     {
         Console.WriteLine(i);
         counter++;
         if(counter == 20)
             break;
     }
}

或者您可以在两个条件下使用for循环:

for (int i = 200, j= 0; i < 2000 && j < 20; i++)
{
    if ((i % num1 == 0) && (i % num2 ==0))
    {
        Console.WriteLine(i);
        j++;
    }

}

答案 1 :(得分:0)

for (int i = 200,loopCounter=0; i < 2000; i++)
    {
        if ((i % num1 == 0) && (i % num2 ==0))
        {
                 if(loopCounter == 20)
                   break;

            Console.WriteLine(i);
                    loopCounter++;
        }
    }

答案 2 :(得分:0)

每当程序控制到达break时,它将退出运行它的循环 为了确保循环突破正确的点,您需要检查要从循环中断的条件。

static void Main(string[] args)
{
    int num1 = 4;
    int num2 = 7;
    int counter=0
    for (int i = 200; i < 2000; i++)
    {
        if(counter>20)
           break;
        if ((i % num1 == 0) && (i % num2 ==0))
        {
            counter++;
            Console.WriteLine(i);
        }
    }
    Console.Read();
}