首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >比较一下char[]跳出While循环

比较一下char[]跳出While循环
EN

Stack Overflow用户
提问于 2018-06-27 08:44:15
回答 1查看 192关注 0票数 0

我正在尝试建立一个简单的控制台应用程序游戏,Hangman!我有一个while循环,它在计数器不等于最大猜测次数时重复,但是,我希望当满足两个条件之一时,循环中断并结束程序,计数器等于最大猜测次数,或者当用户猜测单词时。

下面是我的一些代码:

代码语言:javascript
复制
char[] Guess_Word = "ab".ToLower().ToArray();
char[] GuessValues = new char[Guess_Word.Length];
//run while loop to display message instructions
while ((Counter != Max_Guess) || (Guess_Word == GuessValues)) 
{

    Console.Write("\n\nEnter a letter: ");

    Letter = Char.ToLower(Convert.ToChar(Console.ReadLine()));

    //testing to see if the letter is in word
    if (Guess_Word.Contains(Letter))
    {
        Console.WriteLine("You've guessed correctly!");

        for (var i = 0; i < Guess_Word.Length; i++)
        {
            if (Letter == Guess_Word[i])
            {
                GuessValues[i] = Guess_Word[i];                                
            }                
        }

        Correct_Guess++;
        Console.WriteLine(GuessValues);
    }
    else
    {
        Console.WriteLine("You've guessed incorrectly!");
        Console.WriteLine(GuessValues);
        Incorrect_Guess++;
    } 

    Counter++;
}

while循环中的第二个条件语句始终为false,即使两个索引具有相同的值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-27 09:16:48

您应该修改while语句以反映所需的条件。根据解释,如果达到最大计数或用户猜对了,您希望循环中断。也就是说:“在没有超过计数的情况下运行循环,并且猜测的答案不正确”。它应该是这样的:

代码语言:javascript
复制
while ((Counter <= Max_Guess) && (Guess_Word != GuessValues)) 
        { ... }

当不再满足这些条件之一时,循环将自动结束。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51053074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档