C#中的while循环问题

while (true)
{
int d = Convert.ToInt32(Console.ReadLine());
if (d % 2 == 0)
{
Console.WriteLine("密码正确");
break;
}
else
{
Console.WriteLine("密码错误 “)
}

上面这个小程序,运行输入偶数跳出,输入奇数就一直循环,直到输入为偶数跳出为止。而我的本意是这样:输一次奇数后,提示”密码错误“,再输错一次,提示”还剩最后一次输入机会“,再输错,就提示”卡死,白白“,这样循环结束。请大侠帮我完善修改。
对了我忘说了:请大侠帮我再修改一点,只能输入六位数的偶数密码,输入其他的就报错。像三位数四位数的什么都不行。

            int nCount = 0;
            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("卡死,白白");
                    }

                }
            }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-04

    可以搞一个 int型的变量,在while内部定义,来记录 密码错误的次数

    可以判断变量的长度来决定是否为6位,可以通过ASCII判断是否为数字(C#应该有现成的函数,我不懂C#,只能这样判断了,但是这种方法是最通用的)。

    希望可以帮到你


本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网