针对这周的软件测试课程,讲解了非法输入的不正当处理会对程序造成不必要的损失,因此通过简单的闰年检测程序来处理关于闰年测试的非法输入。
一、需求分析
要求输入框输入年份,点击按钮,出现提示。并能有效的处理任何输入
二、测试用例
内容 | 取值 | 预期结果 |
被400整除 | 2000 | 是闰年 |
被100整除但不被400整除 | 1900 | 不是闰年 |
被4整除且不被100整除 | 1904 | 是闰年 |
不被4整除 | 1901 | 不是闰年 |
非数字字符 | abc | 非法输入 |
负数 | -1234 | 非法输入 |
小数 | 2000.5 | 非法输入 |
空字符串 | null | 非法输入 |
三、代码实现
以下只贴出关键的按钮代码,在visual studio里跑的程序。
private void button1_Click(object sender, EventArgs e) { String test = tb.Text; //tb.Text = a + "#"; string regexString = @"^[0-9]\d*$"; if (Regex.IsMatch(test, regexString)) { label2.Text = "OK"; int nian = int.Parse(test); if (nian % 400 == 0) label2.Text = test + "年是闰年"; else if(nian%100 ==0) label2.Text = test + "年不是闰年"; else if(nian%4==0) label2.Text = test + "年是闰年"; else label2.Text = test + "年不是闰年"; } else label2.Text = "请输入合法的年份"; }
四、输出结果
五、问题解决方案
我使用正则表达式的方法避免了将字符串转化为数字时非法输入导致的输入错误,只有非负整数才能够进入转换的那一步。
欢迎大家批评指正。
时间: 2024-10-11 05:49:58