设计并实现一个 NextDate()函数,函数功能为:NextDate()函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。
时间: 2024-03-04 08:48:12 浏览: 74
好的,我可以帮你设计并实现一个 NextDate() 函数,实现输入日期后一天的日期。以下是函数实现的Java代码:
```java
public static String NextDate(int month, int day, int year) {
// 判断月份是否合法
if (month < 1 || month > 12) {
return "Invalid input";
}
// 判断日期是否合法
if (day < 1 || day > 31) {
return "Invalid input";
}
// 判断年份是否合法
if (year < 1812 || year > 2012) {
return "Invalid input";
}
// 判断日期是否在2月份
if (month == 2) {
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
if (day > 29) {
return "Invalid input";
}
} else {
if (day > 28) {
return "Invalid input";
}
}
// 判断日期是否在4、6、9、11月份
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day > 30) {
return "Invalid input";
}
// 判断日期是否在其他月份
} else {
if (day > 31) {
return "Invalid input";
}
}
// 计算下一天的日期
if (day < 31) {
day++;
} else if (month == 2) {
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
day = 1;
month = 3;
} else {
day = 1;
month = 3;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
day = 1;
month++;
} else {
if (day == 31) {
day = 1;
month = 1;
year++;
} else {
day = 1;
month++;
}
}
// 返回下一天的日期
return month + "/" + day + "/" + year;
}
```
函数中首先判断输入的月份、日期、年份是否合法,如果不合法则直接返回 "Invalid input"。接着根据不同的月份计算下一天的日期,并返回字符串形式的下一天日期。
你可以通过调用 NextDate() 函数并传入月份、日期、年份来得到下一天的日期。例如:
```java
System.out.println(NextDate(2, 28, 2021)); // 3/1/2021
System.out.println(NextDate(4, 30, 2021)); // 5/1/2021
System.out.println(NextDate(12, 31, 2021)); // 1/1/2022
System.out.println(NextDate(2, 29, 2020)); // 3/1/2020
System.out.println(NextDate(2, 29, 2021)); // Invalid input
```
阅读全文