测试方法
使用Junit和 @Test、@Before、@After、@BeforeClass、@AfterClass用法,并结合黑盒测试方法进行程序测试。
实战题目
1.实现函数String NewDivision(String innumber),输入一个字符串包含两个数字,用逗 分隔,例如“123,234”,“11.1,2”。对字符串进行解析,返回两个数相除结果。输入数字可以是整数或者小数,并且程序可以对非法输入进行处理和识别,例如输入一个数,没有逗 ,输入非数字等。
2.编写函数,RightDate(String date),date表示日期,包含年月日(个位数月份前加0,如,4月->04),例如“19870411”、“20201211”。RightDate函数用来判别输入日期是否正确,合法输入年份范围[1987,2021]。假定被调试的程序能接受一切符合规定的日期,拒绝所有不符合规定的日期。
题目分析
对于问题1,需要从字符串的长短和内容进行判断,字符串长短较为容易,而字符串内容可根据题目特点来,即该字符串最大特点为以逗 分隔两个数字,先解决数字问题,数字可分小数或者整数,可用正则表达式进行判断,再解决逗 问题,直接判断字符串中逗 的个数比较der,可通过split(“,”)后字符串的个数以及字符串的内容是否为null进行解决。最后,从业务要求分析,该题为除法运算,自然还有除数为零这个问题。
对于问题2,延续第一题的分析方法,从字符串的长短和内容进行判断。内容方面,首先是字符方面,该字符串应当全是整数,用正则较为方便,其次该题是日期,分为年、月、日。将这三者进行排列组合逐步排查,单个排查,自然是从时间范围,双个排查,月和日有着31天的问题,三个排查,有着闰年二月二十九日问题。
代码模块
第一题
第二题
-
package JunitTest1;
-
import java.util.regex.Pattern;
-
- //2. 编写函数,RightDate(String date),date表示日期,
- // 包含年月日(个位数月份前加0,如,4月->04),
- // 例如“19870411”、“20201211”。
- // RightDate函数用来判别输入日期是否正确,合法输入年份范围[1987,2021]。
- // 假定被调试的程序能接受一切符合规定的日期,拒绝所有不符合规定的日期。
-
public class RightDate {
- public boolean runnian(int x){
- if ((x%4==0 && x%100!=0)||(x%400==0))
- return true;
- else
- return false;
- }
-
- public String rightDate(String s){
- Pattern pattern = Pattern.compile("[0-9]*");
- if(s.length()!=8||(!pattern.matcher(s).matches())){
- return "日期格式不规范--请检查日期符 ";
-
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!