import java.util.Scanner;
public class DateApp {
//写一个静态方法为了能够让主方法调用
static String nextDate(int y,int m,int d) {
//判断是否是闰年,因为闰年的二月天数不同
boolean isLeep=false;
//定义一个月的天数
int dnum=31;
//判断年数,年数不能是五位数,不能是三位数,月数不能比1小比12大
if(y<1000||y>9999||m<1||m>12) {
return "错误时间";
}
//判断是否是闰年,符合判断条件的则是闰年
if((y%400==0)||(y%4==0&&y%100!=0)) {
isLeep=true;
}
//判断,其中4,6,9,11月份是30天的,重新写dnum的天数
switch(m) {
case 4:
case 6:
case 9:
case 11:
dnum=30;
break;
case 2://单独判断2月
if(isLeep) {
dnum=29;
}else {
dnum=28;
}
}
//判断天数,如果比实际月份天数大,或者小于1天,都为错误日期
if(d<1||d>dnum) {
return "错误日期";
}
//如果在当前月内,没有等于月份最后一天,则只是天数加1
if(d!=dnum) {
d++;
}else {//否则分开判断,若是中间月,则月份加1,天数归1;若是最后一个月,则天数归1,年份加1,月份归1
if(m==12) {
y++;
m=1;
d=1;
}else {
m++;
d=1;
}
}
return y+"-"+m+"-"+d;//返回下一天的年月日
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int y,m,d;
Scanner sc=new Scanner(System.in);
String date=sc.nextLine();
String ymd[]=date.split("-");//调用字符串date的方法,用“-”连接每个字符串
y=Integer.parseInt(ymd[0]);
m=Integer.parseInt(ymd[1]);
d=Integer.parseInt(ymd[2]);
String day=nextDate(y,m,d);
System.out.println(day);
}
}
Java——输出第二天是哪天的程序
最新推荐文章于 2024-08-18 21:36:31 发布