检测输入是否是闰年,要从以下几个方面测试:
1.输入合法性检测:
首先确保输入的是数字,并且不能超过int型存储的长度。
2.逻辑检测:
对于闰年的计算方式如下:
4的倍数
不是100的倍数,但是400的倍数
对于以上的检测可以使用两个函数进行检测
private boolean checkNum(char[] input) {
for(int i = 0; i < input.length; ++i) {
if((int)input[i] < 48 || (int)input[i] > 57)
return false;
}
return true;
}
对于逻辑的检测:
private boolean checkYear(int input) {
if(input % 4 == 0) {
if(input % 100 == 0) {
if(input % 400 == 0)
return true;
else return false;
} else return true;
} else return false;
}
主函数中先进行输入类型的检测,再进行逻辑检测