第二次作业+105032014149
测试帖链接:http://www.cnblogs.com/wangkunhuang/p/6591939.html
问题答复:
闰年2月28和平年2月27日的问题,当时只考虑了最后一天的情况,之前都是直接复制黏贴前一部分的代码,在修改时忘了记范围;
把isLeapYear单独分开是为了不让if语句变得太长。
修改后代码:
1 package com.test; 2 import java.util.Scanner; 3 public class TestPractice { 4 /*闰年判断 5 * 返回值为true:该年为闰年 6 * 返回值为false:该年为平年 7 */ 8 public static boolean isLeapYear(int y) 9 { 10 if((y % 4 == 0 && y % 100 != 0)||y % 400 == 0) 11 return true; 12 else 13 return false; 14 } 15 16 //下一天判断,返回值为下一天的日期,格式是xxxx年x月x日 17 public static String NextDate(int y, int m, int d) 18 { 19 //判断年份是否超出范围 20 if(1912 <= y && y <= 2050) 21 { 22 //判断月份是否超出范围 23 if(1 <= m && m <= 12) 24 { 25 //大月判断,每个月只有31天 26 if(m == 1||m == 3||m == 5||m == 7||m == 8||m ==10||m == 12) 27 { 28 if(1 <= d && d < 31) 29 return y+"年"+m+"月"+(d+1)+"日"; 30 else if(d == 31) 31 { 32 if(m == 12) 33 return (y+1)+"年1月1日"; 34 else 35 return y+"年"+(m+1)+"月1日"; 36 } 37 else 38 return "日期超出范围"; 39 } 40 //小月判断,每个月只有30天 41 else if(m == 4||m == 6||m == 9||m == 11) 42 { 43 if(1 <= d && d < 30) 44 return y+"年"+m+"月"+(d+1)+"日"; 45 if(d == 30) 46 return y+"年"+(m+1)+"月1日"; 47 else 48 return "日期超出范围"; 49 } 50 /*二月份在平年和闰年天数不同 51 * 所以需要分开统计 52 * */ 53 else 54 { 55 if(isLeapYear(y)) 56 { 57 if(1 <= d && d < 29) 58 return y+"年"+m+"月"+(d+1)+"日"; 59 if(d == 29) 60 return y+"年"+(m+1)+"月1日"; 61 else 62 return "日期超出范围"; 63 } 64 else 65 { 66 if(1 <= d && d < 28) 67 return y+"年"+m+"月"+(d+1)+"日"; 68 if(d == 28) 69 return y+"年"+(m+1)+"月1日"; 70 else 71 return "日期超出范围"; 72 } 73 } 74 75 } 76 else 77 return "月份超出范围"; 78 } 79 else 80 { 81 return "年份超出范围"; 82 } 83 84 } 85 86 public static void main(String[] args) { 87 Scanner scan = new Scanner(System.in); 88 while(true) 89 { 90 System.out.print("请输入日期:"); 91 int y = scan.nextInt(); 92 if(y == -1) break; 93 int m = scan.nextInt(); 94 int d = scan.nextInt(); 95 System.out.println(NextDate(y,m,d)); 96 } 97 } 98 99 }
修正体会:
修正后让自己明白了在写完代码后应该回头检查一遍,不能过于追求速度,得以及时把那些能直接发现的问题直接找出来,以便减少bug的存在。
代码修改部分 if(1 <= d && d < 29) 、 if(1 <= d && d < 28) 、 if(1 <= d && d < 31) 、 if(1 <= d && d < 30) ,原先没有吧每个月的倒数第二天包括在内,判定时直接使用了'<'号,本应该是使用'<='或者把天数在扩大一天
心得体会:
通过对白盒测试部分的学习,明白了一些基本的覆盖方式,如语句覆盖、条件覆盖等,通过对这部分的学习能使得自己的代码变得更容易测试,更容易今早的发现一些基本的问题。
转载于:https://www.cnblogs.com/ElliotBaird/p/6613215.html
第二次作业+105032014149相关推荐
- 丁贵才130702010042第二次作业
第二次作业 2.9 设有如下语句,请用相应的谓词公式分别把它们表示出来: (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花有喜欢梅花. 解:定义谓词 P(x):x是人 L(x,y):x喜欢y y ...
- 20189317 《网络攻防技术》 第二周作业
一.黑客信息 (1)国外黑客 1971年,卡普尔从耶鲁大学毕业.在校期间,他专修心理学.语言学以及计算机学科.也就是在这时他开始对计算机萌生兴趣.他继续到研究生院深造.20世纪60年代,退学是许多人的 ...
- mysql 三阶多项式拟合_2014年9月份考试机械CAD_CAM第二次作业
2014年9月份考试机械CAD/CAM第二次作业 一.单项选择题(本大题共40分,共 20 小题,每小题 2 分) 1. 在CAD作业中,采用数据文件形式来处理工程数表.线图数据,其目的是() A. ...
- 2021年春季学期-信号与系统-第二次作业参考答案-第十小题
本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第十题 10 从网络学堂下载代表两个信号的音频文件: 音频文件: f1(t)f_1 \left( t \right)f1( ...
- 2021年春季学期-信号与系统-第二次作业参考答案-第九小题
本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第九题 9. 已知三个系统的输入输出关系分别为: 把上述三个子系统进行如下的级联,求系统的输入输出关系,它是线性.时不变系统 ...
- 2021年春季学期-信号与系统-第二次作业参考答案-第八小题
本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第八题 8. 判断下列系统是否为线性.时不变.因果? (1)第一小题 r(t)=ddte(t)r\left( t \righ ...
- 2021年春季学期-信号与系统-第二次作业参考答案-第七小题
本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第七题 7. 判断下列系统是否可逆.若可逆,给出它的逆系统:若不可逆,指出使该系统产生相同输出的两个输入信号. 判断系统是否 ...
- 2021年春季学期-信号与系统-第二次作业参考答案-第六小题
本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第六题 6. 有一线性时不变系统, 当激励e1(t)=u(t)e_1 \left( t \right) = u\left( ...
- 2021年春季学期-信号与系统-第二次作业参考答案-第五小题
本文是 2021年春季学期-信号与系统-第二次作业参考答案 的参考答案. ▌第五题 5. Consider a LTI systems whose response to the singal x1( ...
最新文章
- 深入理解XGBoost,优缺点分析,原理推导及工程实现
- Jconsole远程监控Tomcat
- C#打印控件的使用实例
- JAVA中int、String的类型转换
- Java web后端5 JSP技术
- 和push的区别_还没有理解let 和 const的用法和区别吗,几百字让你立马搞懂
- 361766103.jpg
- x86从实模式到保护模式 pdf_【自制操作系统04】从实模式到保护模式
- Docker学习总结(43)——Docker Compose 搭建Mysql主从复制集群
- python读取us7ascii字符集Oracle数据库中文乱码问题的解决方案
- js实现几种依次打印1的方法
- window 7 计算机配置,Windows7操作系统要求电脑配置
- 服务器异常宕机引发的mysql故障
- python数据分析:Pandas
- 设有如下定义:char *aa[ ]={abcd,ABCD };则以下说法正确的是 A aa 数组成元素的值分别是abcd和ABCD B aa是指针变量,它指向含有两个数组元
- 英语模板作文,词组,句子,句型,开头
- (转)Sublime Text 2 设置文件详解
- 基于STM32的AD9854模块调试总结
- 2K和XP的CMD命令教程(命令篇)
- Java · 认识 String 类(上)· 创建字符串 · 字符串比较相等 · 字符串常量池 · 字符串不可变 · 字符字节与字符串
热门文章
- 介绍ML.NET——面向.NET开发人员的机器学习库
- springboot+vue+element+mybatisplus项目(前端)
- ssm框架数据查询一直为null
- 模拟轮盘抽奖游戏 python_“吃鸡”4位美女在现实中,穿上游戏的“新军需”,这身材绝了...
- PHP 5.6 中 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future
- linux查询匹配个数,查找与linux中目录中的模式匹配的文件数
- matlab创建nc文件怎么打开,MATLAB打开nc文件并读取nc文件数据
- css 入场动画_React系列十四 React过渡动画
- 管理系统页面脚手架(一)
- css定位能用android,绝对的CSS定位显示android html上的空白区域