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 }


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

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

  • 相关阅读:
    响应式布局,流式布局与固定布局
    垃圾回收机制
    形象讲解时间复杂度
    数据结构和算法简介
    数据结构之栈和队列
    十、str的索引、切片和str常用的操作方法(重点)
    九、基础数类型总览和str、int、bool之间的相互转化
    八、编码的初识和进阶
    七、格式化输出和运算符
    六、while循环
  • 原文地址:https://www.cnblogs.com/iProg/p/4396320.html
Copyright © 2011-2022 走看看