如何在代码中添加循环,以便代码一直运行到用户键入'';

本文关键字:代码 运行 用户 一直 添加 循环 | 更新日期: 2023-09-27 18:27:36

我不知道自己在做什么,很难做到这一点。请随意更正代码,帮助我添加循环,甚至从头开始。

这是我试图制作一个基于控制台的应用程序的问题,该应用程序要求用户在键盘上键入小写字母。如果输入的字符是小写字母,则显示"OK";如果不是小写字母,则显示一条错误消息。程序应继续,直到用户键入"!"为止。

到目前为止,我拥有的是:

if (Char.IsLower(c))
{
    Console.WriteLine("OK");
}
else if (Char.IsUpper(c))
{
    Console.WriteLine("The character is not a lowercase letter.");
}
else if (Char.IsDigit(c))
{
    Console.WriteLine("The character is not a lowercase letter.");
}
else
{
    Console.WriteLine("The character is not a lowercase letter.");
}
Console.ReadKey();

如何在代码中添加循环,以便代码一直运行到用户键入'';

此代码应该可以工作。它将循环,直到用户输入感叹号。

while (true)
{
    var inputCharacter = Console.ReadKey().KeyChar;
    if (inputCharacter == '!')
    {
        break;
    }
    if (char.IsLower(inputCharacter))
    {
        Console.WriteLine("OK");
    }
    else
    {
        Console.WriteLine("The character is not a lowercase letter.");
    }
}

条件比现有的要简单得多。。这里有一个你有条件的例子。在我看来,您已经发生了某种循环,因为c存在于您的示例中:

if (c == '!') {
    break;
}
else if (char.IsLower(c)) {
    // it's fine!
    Console.WriteLine("OK");
}
else {
    // it's not a lowercase character
    Console.WriteLine("Not a lowercase character");
}

您可以在等待!Console.ReadKey上使用while循环

char c;
while ((c = Console.ReadKey(true).KeyChar) != '!')
{
    if (char.IsLower(c))
    {
        Console.WriteLine("OK");
        continue;
    }
    Console.WriteLine("The character is not a lowercase letter.");
}