实在想不出来,我只知道应该在catch写个循环或别的,大虾们帮写个

解决方案 »

  1.   

    找到一个方法了,给大家们看看:
            static void Main(string[] args)
            {
                Console.WriteLine("请输入一个数字");
                int i = ReadInt();
                Console.WriteLine("你输入的数字是:"+i);
                Console.ReadKey();        }
            public static int ReadInt()
            {
                int input;
                do
                {
                    try
                    {
                        input=Convert.ToInt32(Console.ReadLine());
                        return input;//是数字了,return返回,不执行下面的语句
                    }
                    catch
                    {
                        Console.WriteLine("你输入的不是一个数字,请重新输入");
                    }
                }
                while(true);
            }
      

  2.   

    这个就可以啦,其实你用int.tryParse(),来判断可以写起来更简洁点。
      

  3.   

    if (int.TryParse(Console.Read()))
    {
       //你要做东东。
    }
      

  4.   


            static void Main(string[] args)
            {
                Console.WriteLine("请输入一个数字");
                string input = Console.ReadLine();
                Regex rgx = new Regex("^[0-9]*$");            while (!rgx.Match(input).Success)
                {
                    Console.WriteLine("输入有误,请重新输入!");
                    input = Console.ReadLine();
                    rgx = new Regex("^[0-9]*$");
                }            Console.WriteLine("输入正确!");
                Console.ReadKey();