黑马程序员技术交流社区

标题: 黑马程序员_C#中 try ....carch和goto以及方法的使用 [打印本页]

作者: oscar    时间: 2012-3-30 09:36
标题: 黑马程序员_C#中 try ....carch和goto以及方法的使用
  Console.WriteLine("请输入一个年份");
            Fond://标签,在catch到异常的时候,跳转到重新输入,注意:标签不能定义在try中。
            try
            {
               
                int years = Convert.ToInt32(Console.ReadLine());
                bool result = LeapYear(years);
                if (result)
                {
                    Console.WriteLine("这是闰年");
                }
                else
                {
                    Console.WriteLine("这不是闰年");
                }

            }
            catch (Exception )
            {
                Console.WriteLine("您输入 格式不正确,请重新输入一个年份");
                goto Fond;
               
            }

            Console.ReadKey();

        }
        public static bool LeapYear(int year)//定义的判断是不是闰年的方法
        {
            if (year%400==0||year%4==0&&year!=100)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
作者: 李志祥    时间: 2012-3-30 12:09
   if (year%400==0||year%4==0&&year!=100)

这个是不是该是if(year%400==0||year%4==0&&year%100!=0)这样啊

作者: 杨曾荣    时间: 2012-3-30 13:16
把这句“ if (year%400==0||year%4==0&&year!=100)”改成“ if (year%400==0||(year%4==0&&year!=100))”试试
作者: 张静慈    时间: 2012-3-30 22:36
if (year%400==0||year%4==0&&year!=100)  先与后或  虽然没有问题  但是可读性差   一般不建议这么使用  
作者: 胡杰震    时间: 2012-4-1 15:21
if (year%400==0||year%4==0&&year!=100)修改一下 if (year%400==0||year%4==0&&year%100!=0)
作者: 何智杰    时间: 2012-4-2 10:05
对于输入这种情况尽量不要使用 try  catch去捕捉可预见的异常。而尽量去使用正则表达式进行输入验证

比如验证0-100的整数 Regex reg = new Regex(@"^([0-9]?[0-9]|100)$");
            if (!reg.IsMatch(txtScore.Text.Trim()))//不匹配提示错误
            {
                     //提示错误
                    }
作者: oscar    时间: 2012-4-2 17:33
谢谢大家!~
作者: oscar    时间: 2012-4-2 17:35
何智杰 发表于 2012-4-2 10:05
对于输入这种情况尽量不要使用 try  catch去捕捉可预见的异常。而尽量去使用正则表达式进行输入验证

比如 ...

正则表达式,这是这方法可以借鉴!谢谢!~:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2