闰年测试处理非法输入

本周问题为:输入任意年份,判断是否为闰年。

判断是否为闰年,可以通过下面代码实现:

 public  boolean ifLeapYear(int year)
        {
             if (year % 400 == 0)
                return true;
             else if (year % 100 == 0)
                return false;
             else if (year % 4 == 0)
                return true;
             else
                return false; 
        }

  

然而,输入的年份是保存为string类型的,因此,这时候就要把输入的字符串转换为int类型。这种情况下,就需要判断输入是否合法。我们通过Integer.parseInt(string)方法来将字符串转换为int类型,但如果输入非法时,如输入为"abc"时,程序就会报错。为此,采用try-catch来抛出异常。代码如下:

//获取输入年份
String text = TextBox1.Text;
//转换为int类型
int year = Integer.parseInt(text);
 try{
      if( ifLeapYear( year ) ) {
           Textbox2.Text = "输入年份为闰年";
      }
      else {
           Textbox2.Text = "输入年份非闰年";
      }
  }
  catch (Exception e){
       Textbox2.Text = "输入不合法";
  }

 

posted @ 2015-04-06 19:16  三班&李志飞  阅读(209)  评论(0编辑  收藏  举报