循环x次后如何停止while循环

时间:2014-03-24 22:55:15

标签: javascript

while(vowels != "NO" && vowels != "no" && vowels != "stop")
{
    vowels = prompt("Enter any vowel.");

    if (vowels != "a" && vowels != "A" && vowels != "e" && vowels != "E"
        && vowels != "i" && vowels != "I" && vowels != "o" && vowels != "O"
        && vowels != "u" && vowels != "U")
    {
        score+=-1;
    }
    else
    {
        score+=+1;
    }
}

如何让它在5次后停止?

4 个答案:

答案 0 :(得分:2)

    var cnt = 0;
    while(vowels != "NO" && vowels != "no" && vowels != "stop" && cnt <5)
    {
        cnt++;
        vowels = prompt("Enter any vowel.");

        if (vowels != "a" && vowels != "A" && vowels != "e" && vowels != "E" && vowels != "i"
        && vowels != "I" && vowels != "o" && vowels != "O" && vowels != "u" && vowels != "U")
        {
            score+=-1;
        }

        else
        {
            score+=+1;
        }

    }

答案 1 :(得分:1)

while条件语句中添加:

var i = 0;
while(vowels != "NO" && vowels != "no" && vowels != "stop" && i < 5)
{
   ...
   i++;
}

这将为您的循环添加一个滴答计数器。您还可以使用for loop

for循环示例:

for (var i = 0; i < 5; i++)
{
    if (vowels != "NO" && vowels != "no" && vowels != "stop")
       break;
    vowels = prompt("Enter any vowel.");

    if (vowels != "a" && vowels != "A" && vowels != "e" && vowels != "E"
        && vowels != "i" && vowels != "I" && vowels != "o" && vowels != "O"
        && vowels != "u" && vowels != "U")
    {
        score+=-1;
    }
    else
    {
        score+=+1;
    }
}

此外,a classic example of a tick counter。 :)

修改

正如@DRAX指出的那样,您可以将for写为:

for (var i = 0; i < 5 && vowels != "NO" && vowels != "no" && vowels != "stop"; i++)
{
    vowels = prompt("Enter any vowel.");

    if (vowels != "a" && vowels != "A" && vowels != "e" && vowels != "E"
        && vowels != "i" && vowels != "I" && vowels != "o" && vowels != "O"
        && vowels != "u" && vowels != "U")
    {
        score+=-1;
    }
    else
    {
        score+=+1;
    }
}

这会修改for

的条件

答案 2 :(得分:1)

感受常规表达,类型COERCION和其他1337 $ 7UFF的力量!

for (i = 0; i < 5; i++) {
    if(/^(no|NO|stop)$/.test(vowels)) break;
    score -= 1 - (/^[aeiou]$/i.test(vowels=prompt("Enter any vowel.")) << 1);
}
PS:不要试图在家里重复这一点。

答案 3 :(得分:-1)

循环特定次数的一种方法是使用for循环。例如,您可以将while循环包装在具有5次迭代的for循环中。