闰年测试
一、闰年的定义
4 年一闰, 100 年不闰,400年又闰
二、闰年的程序
1.
bool isLeapYear( int year )
{
return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
}
2.
public static bool IsLeapYear(int year)
{
if (year % 400 == 0)
return true;
if (year % 100 == 0)
return false;
if (year % 4 == 0)
return true;
return false;
}
三、存在的问题及分析
上面两个程序代码,逻辑相同,但站在测试的角度,方案2更佳。不过,都同样存在问题,如果测试时输入的不是int型整数,而是string型的,例如字符串“abcd”或负数,例如“-1”则会存在问题。
四、改进方案
运用try{}catch{},和parse方法,现将输入转变成int型的,再做判断。