while (true)
{
int d = Convert.ToInt32(Console.ReadLine());
if (d % 2 == 0)
{
Console.WriteLine("密码正确");
break;
}
else
{
Console.WriteLine("密码错误 “)
}
上面这个小程序,运行输入偶数跳出,输入奇数就一直循环,直到输入为偶数跳出为止。而我的本意是这样:输一次奇数后,提示”密码错误“,再输错一次,提示”还剩最后一次输入机会“,再输错,就提示”卡死,白白“,这样循环结束。请大侠帮我完善修改。
对了我忘说了:请大侠帮我再修改一点,只能输入六位数的偶数密码,输入其他的就报错。像三位数四位数的什么都不行。
while (nCount < 3)
{
String strInput = Console.ReadLine();
int d = Convert.ToInt32(strInput);
if (d % 2 == 0 && 6 == strInput.Length)
{
Console.WriteLine("å¯ç æ£ç¡®");
break;
}
else
{
nCount++;
if (1 == nCount)
{
Console.WriteLine("å¯ç é误");
}
else if (2 == nCount)
{
Console.WriteLine("è¿å©æåä¸æ¬¡è¾å ¥æºä¼");
}
else if (3 == nCount)
{
Console.WriteLine("å¡æ»ï¼ç½ç½");
}
}
}
可以搞一个 int型的变量,在while内部定义,来记录 密码错误的次数
可以判断变量的长度来决定是否为6位,可以通过ASCII判断是否为数字(C#应该有现成的函数,我不懂C#,只能这样判断了,但是这种方法是最通用的)。
希望可以帮到你