zoukankan      html  css  js  c++  java
  • 对闰年测试的非法输入处理的思考

    问题描述: 

      输入一个年份,确定其是否合法,并且判断该年份是否为闰年。

    测试用例:

      1.可以被被400整除的年份

      2.可以被4整除,但不能被100整除的年份

      3.可以被100但不能被400整除的年份

      4.奇数年份

      5.偶数但不能被4整除的年份

      6.非法输入

    测试代码:

      通过对问题的分析,和对测试用例的思考,得出测试所需的主要方法为:

     1 public boolean isLeapYear(int year)
     2 {
     3     boolean judge = false;
     4 
     5     if (year % 4 == 0)
     6         judge = true;       
     7 
     8     if (year % 100 == 0)
     9         judge = false;
    10 
    11     if (year % 400 == 0)
    12         judge = true;
    13 
    14     return judge; 
    15 }


    输入问题:

       对于一个输入,获取为字符串类型,该问题中我们使用Integer.parseInt(String)方法将输入转化为所需年份,来防止非法的字符串转

    化为Int的输入,但是该函数在获得非法输入时,会抛出一个异常java.lang.NumberFormatException,需要对其进行try-catch异常处

    理,在改过程中调用以上闰年判断方法,处理非法输入,并且完成年份判断。

    部分代码:

     1 try{
     2     if(isLeapYear(Integer.parseInt(input))) {
     3         System.out.println(input + "年是闰年");
     4     }
     5     else {
     6         System.out.println(input + "年不是闰年");
     7     }
     8 }
     9 catch (Exception e){
    10      System.out.println(input + "不是一个合法的输入");
    11 }


    以上完成了判断一个输入是否为闰年这一任务,展示的代码实现了主要的方法,我们还可以从输入的阶段进行合法性的研究,使得该程序

    有更强的健壮性,并且完成更加完善的用户交互的代码实现,建立完善的异常处理机制。

  • 相关阅读:
    Mysql常用语句
    Java基础知识总结
    ExtJS4.2学习(三)——入门基础
    ExtJS4.2学习(二)——入门基础
    ExtJS 4.2学习(一)——环境搭建
    大三下半学期“饭店餐饮系统”项目笔记
    GUI练习——列出指定目录内容
    Collections之sort的两个方法(自然排序和自定义比较器排序)
    Java集合总结
    访问数据库
  • 原文地址:https://www.cnblogs.com/iProg/p/4396320.html
Copyright © 2011-2022 走看看