某函数包含三个输入变量year、month、day,分别表示年、月、日,函数的输出为输入日期后一天的日期。例如,输入year=2010、month=1、day=1,则函数的输出为2010年1月2日。 已定义变量year、month、day的值均为正整数,且year取值从1900到2012年。试采用等价类划分法设计测试用例。 1、 完成代码编写 2、正确划分等价类,并设计测试用例。使用java语言中的Scanner类
时间: 2023-04-04 12:05:03 浏览: 149
Java编程输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。
4星 · 用户满意度95%
以下是我的回答:
1、代码编写:
import java.util.Scanner;
public class NextDay {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
int year = input.nextInt();
System.out.print("请输入月份:");
int month = input.nextInt();
System.out.print("请输入日期:");
int day = input.nextInt();
int[] daysInMonth = {31,28,31,30,31,30,31,31,30,31,30,31};
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
daysInMonth[1] = 29;
}
if (day < daysInMonth[month-1]) {
day++;
} else {
day = 1;
if (month < 12) {
month++;
} else {
month = 1;
year++;
}
}
System.out.println("输入日期的下一天是:" + year + "年" + month + "月" + day + "日");
}
}
2、等价类划分和测试用例设计:
等价类划分:
输入年份的等价类:1900-2012年之间的正整数、非正整数、非整数、空值、null。
输入月份的等价类:1-12月之间的正整数、非正整数、非整数、空值、null。
输入日期的等价类:1-31日之间的正整数、非正整数、非整数、空值、null。
测试用例设计:
输入年份的测试用例:
正整数:2010、2000、1996、1900、2012。
非正整数:0、-1、-2010。
非整数:1.5、2.3、2010.5。
空值:""。
null:null。
输入月份的测试用例:
正整数:1、2、12。
非正整数:0、-1、-12。
非整数:1.5、2.3、12.5。
空值:""。
null:null。
输入日期的测试用例:
正整数:1、15、31。
非正整数:0、-1、-31。
非整数:1.5、2.3、31.5。
空值:""。
null:null。
以上就是我的回答,希望能够帮到你!
阅读全文