Это моя домашняя работа, отредактировал его:проверяет, является ли строка допустимым паролем
Некоторые веб-сайты устанавливают определенные правила для паролей. Напишите функцию, которая проверяет, является ли строка допустимым паролем. Предположим, что правила пароля следующие:
- Пароль должен иметь не менее восьми символов.
- Пароль состоит только из букв и цифр.
- Пароль должен содержать не менее двух цифр.
Написать C# программу, которая предлагает пользователю ввести пароль и отображает Valid пароль, если правила соблюдаются или Invalid Password иначе
Это то, что я сделал сейчас:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Please enter a Password: ");
String password = Console.ReadLine();
if (isValid(password))
{
Console.WriteLine("Valid Password");
}
else
{
Console.WriteLine("Invalid Password");
}
}
public static bool isValid(String password)
{
if (password.Length < 8)
{
return false;
}
else
{
char c;
int count = 1;
for (int i = 0; i < password.Length - 1; i++)
{
c = password[i];
if (!Char.IsLetterOrDigit(c))
{
return false;
}
else if (Char.IsDigit(c))
{
count++;
if (count < 2)
{
return false;
}
}
}
}
return true;
}
}
Но есть проблема, я не могу найти
Тест на счет должен быть выполнен после выхода из цикла ... loop – Steve
В чем проблема, которую вы не можете найти? – user1666620
@Steve Хорошая находка, эта проблема приводит к тому, что for-loop выходит из первого раза, когда находит цифру во входной строке. Я бы добавил это как ответ. –