第2次作业+105032014158
1.测试帖连接:http://www.cnblogs.com/wxcclub/p/6581040.html
2.测试人员发现的缺陷:
该代码只通过判断月份和天数是否为最后一月的一天的情况,没有考虑年份为闰年2月份只有29天以及4,6,9,11月只有30天的情况,
并且年份月份日期超出范围依然输出了错误日期,综上,该程序并未通过测试。
3.修正后的java代码:
1 import java.util.*; 2 public class ruance_1 { 3 4 public static String Msg(int year, int month, int day) 5 { 6 String msg; 7 if((year<1912||year>2050)) //判断年份是否超出 8 { 9 msg = "年份超出范围!"; 10 return msg; 11 } 12 if((month<1||month>12)) // 判断月份是否超出 13 { 14 msg = "月份超出范围!"; 15 return msg; 16 } 17 //判断日期是否超出 18 if(month==4||month==6||month==9||month==11) 19 { 20 if((day<1||day>30)) 21 { 22 msg = "日期超出范围!"; 23 return msg; 24 } 25 } 26 else if(month==2) 27 { 28 if((year%4==0&&year%100!=0)||year%400==0)//闰年 29 { 30 if((day<1||day>29)) 31 { 32 msg = "日期超出范围!"; 33 return msg; 34 } 35 } 36 else //非闰年 37 { 38 if((day<1||day>28)) 39 { 40 msg = "日期超出范围!"; 41 return msg; 42 } 43 } 44 } 45 else 46 { 47 if((day<1||day>31)) 48 { 49 msg = "日期超出范围!"; 50 return msg; 51 } 52 } 53 msg=NextDate(year,month,day); 54 return msg; 55 } 56 //实现下一日的方法 57 public static String NextDate(int year, int month, int day) 58 { 59 String nextdate; 60 if(month==2) //2月 61 { 62 if(((year%4==0&&year%100!=0)||year%400==0)) //闰年时的2月 63 { 64 if(day==29) 65 { 66 day=1; 67 month++; 68 } 69 else 70 { 71 day++; 72 } 73 } 74 else 75 { 76 if(day==28) 77 { 78 day=1; 79 month++; 80 } 81 else 82 { 83 day++; 84 } 85 } 86 } 87 else if(month==12) //12月份 88 { 89 if(day==31) 90 { 91 year++; 92 day=1; 93 month=1; 94 } 95 else 96 { 97 day++; 98 } 99 } 100 //一般月份 101 else 102 { 103 if(month==4||month==6||month==9||month==11) 104 { 105 if(day==30) 106 { 107 month++; 108 day=1; 109 } 110 else 111 { 112 day++; 113 } 114 } 115 else 116 { 117 if(day==31) 118 { 119 month++; 120 day=1; 121 } 122 else 123 { 124 day++; 125 } 126 } 127 128 } 129 nextdate = "" + year + "年" + "" + month + "" + "月" + day + "日" ; 130 return nextdate; 131 } 132 133 public static void main(String[] args) { 134 // TODO Auto-generated method stub 135 int a=1; 136 while(a==1) 137 { 138 int year, month, day; 139 System.out.println("请依次输入年份,月份,日期!"); 140 Scanner input = new Scanner(System.in); 141 year = input.nextInt(); 142 month = input.nextInt(); 143 day = input.nextInt(); 144 System.out.println("输入的日期为:"); 145 System.out.println(year + "年" + month + "月" + day + "日"); 146 System.out.println("输出为:"); 147 System.out.println(Msg(year, month, day)); 148 System.out.println("是否继续?1/0"); 149 a = input.nextInt(); 150 } 151 } 152 }
4.缺陷原因:
没有考虑实际的需求,只是按照题目表面的意思执行任务,导致没有实用性,并且画蛇添足,没有简洁明了表现出输入的错误。
4.变更:
本次修改,主要是将对日期的判断单独写成一个函数,其次对于题目的要求再加上一点日常应有的限制,比如闰年与非闰年的差异。较之前的代码,还改进了原本日期超出范围还会输出错误日期的行为。
5.体会:
要尽量结合实际完成任务。
转载于:https://www.cnblogs.com/5257yu/p/6617202.html
第2次作业+105032014158相关推荐
- LeetCode简单题之在既定时间做作业的学生人数
题目 给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间. 已知,第 i 名学生在 startTime[i] 时开始写作业 ...
- 作业函数的定义与调用
作业函数的定义与调用 在 OneFlow 中,将训练.预测任务封装在一个函数中,统称为作业函数(job function),作业函数联系用户的业务逻辑与 OneFlow 管理的计算资源. 在 OneF ...
- 华东理工大学计算机应用基础,最新华东理工大学计算机应用基础网上作业及全部答案...
精品文档 华东理工大学计算机应用基础网上作业及全部答案 2012计算机应用基础答案: 一.选择题 1.文件夹是用来对应用程序.文件进行分组的,以下说法中()正确.答:一个文件夹内可以包含文件.应用程序 ...
- 《小团团团队》第五次作业:项目需求分析改进与系统设计
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验九 团队作业5-团队项目需求改进与系统设计 团队名称 小团团团队 作业学习目标 (1)掌握面向对象需求分析方法:(2) ...
- 2017级面向对象程序设计 作业三
Deadline:2018-05-13 22:00pm 题目升级 一栋10层的大楼(楼层编号1-10),设3台无限载重的电梯,初始时电梯停在1层.其中:1号电梯只能停留在奇数层,2号电梯可以各层都停留 ...
- 201621123068 作业08-集合
1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的<contains>源代码 答:源代码 public boolean contains ...
- 代码管理和版本管理的作业流程以及规范是怎样的?
代码管理和版本管理的作业流程以及规范是怎样的? 代码管理和版本管理的作业流程以及规范是怎样的?下面以文档的形式进行详细分析,希望能够给予测试人员一些帮助和指导. 本文目的 本文试图提供一套有效进行代码 ...
- 结队项目——第一次作业
By: 031502220 计算机二班 李自强031502344 计算机三班 郑世强 Table of Contents 一 需求分析:二 具体设计:三 系统功能说明:四 产品优劣势分析:五 PSP: ...
- 第三次作业+105032014085
对修正后第2次作业+105032014141的单元测试 1.修正后的流程图 2.测试用例设计 3.单元测试框架 1 import static org.junit.Assert.*; 2 3 impo ...
最新文章
- CryEngine最新版发布,支持Vulkan API
- Python进阶10-标准库介绍01
- 这届清华学生太难了!C++作业难到上热搜!
- 消除桌面虚拟化应用的存储瓶颈
- python之字典方法
- Java实现Redis的消息订阅和发布
- 贵大计算机考研情侣,贵大计算机研究生怎么样?
- Android 热修复的相关总结(主要是阿里百川的)
- 提取Flash源文件中的素材
- MongoDB 后台创建索引、查看创建进度等
- 物联网挑战赛【从零到一】
- Fips模式下应用连接Oracle SSL
- 与Lucene 4.10配合的中文分词比较
- 天龙八部 - 其它 - 属性伤害的计算方法
- NeuroImage:慢性疼痛病人功能脑社区变化的网络结构
- android环信群聊显名称,Android环信群聊插入头像和昵称
- 腾讯云服务器部署TomCat出现404
- 计算机配置高低怎么看,电脑配置高低怎么判断_教你查看电脑配置高低的方法...
- VB对象及其属性、事件和方法
- Java对接HJ212协议设备