密码控制台应用程序使用一个while循环

本文关键字:一个 while 循环 控制台 应用程序 密码 | 更新日期: 2023-09-27 18:15:57

所以基本上我正在尝试编写一个控制台应用程序,它要求用户输入密码,并将继续要求它只有三次,然后停止使用'while'循环,但它继续循环并要求我输入密码,即使使用了正确的密码,并且在我输入密码超过3次之后。

const string pass = "Password";            
string attempt;
do
{
    Console.Write("Please enter password: ");
    attempt = Console.ReadLine();
    if (attempt == pass)
    {
        Console.WriteLine("Access granted.");
    }
    else
    {
        Console.WriteLine("Access denied.");
    }
} while (true);

密码控制台应用程序使用一个while循环

const string pass = "Password";            
string attempt;
int n = 0;
do
{
    Console.Write("Please enter password: ");
    attempt = Console.ReadLine();
    if (attempt == pass)
    {
        Console.WriteLine("Access granted.");
        break;
    }
    else
    {
        Console.WriteLine("Access denied.");
        n++;
    }
} while (n<=3);

所以您要三次询问用户密码,直到输入正确的密码,并停止询问用户是否输入正确的密码。你可以通过for loop

const string pass = "Password";            
string attempt;
for(int i=0;i<3;i++)
{
    Console.Write("Please enter password: ");
    attempt = Console.ReadLine();
    if (attempt == pass)
    {
        Console.WriteLine("Access granted.");
        i = 4;
    }
    else
    {
        Console.WriteLine("Access denied.");
    }
};

您可以这样做:

const string pass = "Password";            
string attempt;
int attempt = 0;
do
{
    Console.Write("Please enter password: ");
    attempt = Console.ReadLine();
    if (attempt == pass)
    {
        Console.WriteLine("Access granted.");
    }
    else
    {
        Console.WriteLine("Access denied.");
        attempt++;
    }
} while (attempt <= 3 && attempt != pass);
         string pass = "";
        while (pass != "password")
        {
            Console.WriteLine("enter your password here");
            pass = Convert.ToString(Console.ReadLine());
            if (pass == "password")
            {
                Console.WriteLine("your password is correct");
            }
      }
        Console.ReadKey();