日期:2014-05-18  浏览次数:20853 次

关于当输入大于某个数的时候要求重新输入
本人是新手,现遇到一个问题。
比如:用户如果输入的数字大于10的话,要重新输入,就这么简单。
我写的代码:
C# code
  static void Main(string[] args)
        {
            bool num = false;
            int a;
            Console.WriteLine("请输入一个数字");
            a = Convert.ToInt32(Console.ReadLine());
            while (!num)
            {
                if (a < 10)
                {
                    num = true;
                   
                }
                else
                {
                   if (a>10)
                       Console.WriteLine("请重新输入");
                 
                }
               
            }
            Console.WriteLine("你输入的数字是 {0}", a);
         
        }

输入小于10的数字就没问题,但输入大于10的数字,运行后会出现死循环,显示 “请重新输入”。
该怎么改,加break也没用,都不给我重新输入一个新值,纳闷。。

------解决方案--------------------
C# code

static void Main(string[] args)
        {
            bool num = false;
            int a;
            Console.WriteLine("请输入一个数字");
            a = Convert.ToInt32(Console.ReadLine());
            while (!num)
            {
                if (a < 10)
                {
                    num = true;
                   
                }
                else
                {
                   if (a>10)
                       Console.WriteLine("请重新输入");
                       a = Convert.ToInt32(Console.ReadLine());
                }
               
            }
            Console.WriteLine("你输入的数字是 {0}", a);
         
        }

------解决方案--------------------
C# code

if (a>10){
                       Console.WriteLine("请重新输入");
                       a = Convert.ToInt32(Console.ReadLine());
}