给出某一天(年,月,日),计算出它的下一天,取值围为: 年:1000<= year <=3000 月:1<=month <=12 日: 1<= day <=31 如 1999 年 3 月 4 日的下一天是:1999 年 3 月 5 日 要求: 1.判断是否为闰年,如果是闰年,那么2月29日下一天是3月1日;如果不是闰年,那么2月28日下一天为3月1日 2.输入:三个参数(年,月,日) 输出:如能正确计算,计算出它的下一天, 否则,输出相应的错误信息。 1) 使用 java 语言编写程序实现
时间: 2024-02-06 21:10:00 浏览: 95
java程序可循环判断是否是闰年
以下Java语言实现的代码:
```java
import java.util.Scanner;
public class NextDayCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
int year = scanner.nextInt();
System.out.print("请输入月份:");
int month = scanner.nextInt();
System.out.print("请输入日期:");
int day = scanner.nextInt();
scanner.close();
if (year < 1000 || year > 3000 || month < 1 || month > 12 || day < 1 || day > 31) {
System.out.println("输入的日期不合法!");
return;
}
int[] daysInMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (isLeapYear(year)) {
daysInMonth[1] = 29;
}
if (day > daysInMonth[month - 1]) {
System.out.println("输入的日期不合法!");
return;
}
day++;
if (day > daysInMonth[month - 1]) {
day = 1;
month++;
if (month > 12) {
month = 1;
year++;
}
}
System.out.printf("下一天是:%d年%d月%d日", year, month, day);
}
private static boolean isLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
}
```
代码中先读取用户输入的年月日,然后判断是否合法。如果不合法,输出错误信息并结束程序;否则,根据是否是闰年和每个月的天数计算出下一天的日期,并输出。其中,isLeapYear()方法用于判断是否是闰年。
阅读全文