用 Java 编写计算被输入日期是星期几例如公元 1 年 1 月 1 日是星期一 只要输入年月日能自动回复当天是星期几。测试用例; 程序说明: A 程序思路:计算输入日期与公元 1 年 1 月 1 日所相差的天数具体如下:总天数=公元 1 年到输入日期上一年年底天数+输入年份的 1 月到上月月底天数+输入日期的天数; B 闰年满足条件year4==0&&year100!=0year400==0。要
(1)各种输入情况及输出结果:
输入情况 | 输出结果 ----------|--------- 正确日期格式:年月日正确 | 星期几 年份不合法:小于1或大于9999 | "年份不合法" 月份不合法:小于1或大于12 | "月份不合法" 日期不合法:小于1或大于当月最大日期 | "日期不合法"
测试用例:
输入 | 输出 ------------|---------- 2022年2月29日 | "日期不合法" -1年1月1日 | "年份不合法" 10000年1月1日 | "年份不合法" 2022年13月1日 | "月份不合法" 2022年2月31日 | "日期不合法" 2022年2月28日 | 星期日
(2)边界值分析:
等价类 | 有效值 | 无效值 --------|---------|--------- 年份 | 1-9999 | 0、-1、10000 月份 | 1-12 | 0、13 日期 | 1-当月最大日期 | 0、当月最大日期+1
测试用例:
输入 | 输出 ------------|---------- 1年1月1日 | 星期一 9999年12月31日 | 星期六 0年1月1日 | "年份不合法" -1年1月1日 | "年份不合法" 10000年1月1日 | "年份不合法" 2022年0月1日 | "月份不合法" 2022年13月1日 | "月份不合法" 2022年2月0日 | "日期不合法" 2022年2月29日 | "日期不合法" 2022年2月28日 | 星期日 2022年3月1日 | 星期二
(3)决策表测试法:
①输入变量 month、 day、 year 的有效等价类:
变量 | 有效等价类 ------|-------------- month | 1-12 day | 1-当月最大日期 year | 1-9999
②问题规定的可能采取操作:
操作 | 描述 ----|------ 计算总天数 | 根据公式计算输入日期与公元 1 年 1 月 1 日所相差的天数 判断是否为闰年 | 根据输入年份判断是否为闰年
③决策表:
条件桩 | 动作桩 ------------------------------------|---------- month=2,4,6,9,11 | day<=30 month=1,3,5,7,8,10,12 | day<=31 month=2 | (year%4!=0)||(year%100==0)&&(year%400!=0):day<=28;(year%4==0)&&(year%100!=0)||(year%400==0):day<=29 year<1或year>9999或month<1或month>12 | "年份不合法"或"月份不合法" day<1或day>当月最大日期 | "日期不合法"
④测试用例:
输入 | 输出 ------------|---------- 1年1月1日 | 星期一 9999年12月31日 | 星期六 0年1月1日 | "年份不合法" -1年1月1日 | "年份不合法" 10000年1月1日 | "年份不合法" 2022年0月1日 | "月份不合法" 2022年13月1日 | "月份不合法" 2022年2月0日 | "日期不合法" 2022年2月29日 | "日期不合法" 2022年2月28日 | 星期日 2022年3月1日 | 星期二
原文地址: http://www.cveoy.top/t/topic/bg3e 著作权归作者所有。请勿转载和采集!