顯示下一天日期
阿新 • • 發佈:2022-04-06
設計程式要求輸入一個日期後,可以顯示下一天日期。
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
int y, m, d; //年、月、日
int dnum = 0; //月裡的天數
boolean isLeap = false; //是否為閏年
System.out.println("請輸入年月日資訊,格式為:年-月-日");
Scanner scanner = new Scanner(System.in);
//以字串方式輸入日期並分離出年月日
String date = scanner.nextLine();
String ymd[] = date.split("-");
y = Integer.parseInt(ymd[0]);
m = Integer.parseInt(ymd[1]);
d = Integer.parseInt(ymd[2]);
//用 if 語句判斷輸入的年、月是否合法,要求 1000<y<9999
if ((y < 9999 && y > 1000 && m <= 12 && m >= 1)) {
if ((y % 400 == 0) || (y % 4 == 0 && y % 100 != 0)) {
isLeap = true;
}
//用 switch 語句判斷月份,求出該月份的天數
int t;
if(isLeap)t=29;
else t=28;
switch (m){
case 1:dnum=31;
case 2:dnum=t;
case 3:dnum=31;
case 4:dnum=30;
case 5:dnum=31;
case 6:dnum=30;
case 7:dnum=31;
case 8:dnum=31;
case 9:dnum=30;
case 10:dnum=31;
case 11:dnum=30;
case 12:dnum=31;
}
if (d < 1 || d > dnum) {
System.out.println("日期不合法!");
return;
}
if (d != dnum) {
d++;
} else {
if (m == 12) {
y++;
m = 1;
d = 1;
} else {
m++;
d = 1;
}
}
System.out.println(y + "-" + m + "-" + d);
}
}
}