輸入一個年月日日期,給出上一天和下一天的日期
阿新 • • 發佈:2018-12-15
要求輸入一個代表年月日的8位整數,
- 計算出其上一天和下一天是什麼日期
- 2月分閏年和平年
這裡用的是if-else分支結構分情況計算上一天和下一天的日期
public class Demo { public static void main(String[] args) { /*System.out.println("請輸入一個代表年的4位數:"); Scanner scan = new Scanner(System.in); int year = scan.nextInt(); System.out.println("請輸入一個代表月的2位數:"); int month = scan.nextInt(); System.out.println("請輸入一個代表日的2位數:"); int day = scan.nextInt(); if(month ==2 && day ==28) { month++; day = 01; } if(day == 31) { month++; day = 1; }else { day++; } if(month == 12 && day == 31) { year++; month = 01; day = 01; } String lastDay = year+""+month+day; System.out.println("下一天是:"+lastDay);*/ System.out.println("請輸入一個代表年月日的8位數:"); Scanner scan = new Scanner(System.in); int year = scan.nextInt(); int month = scan.nextInt(); int day = scan.nextInt(); if(month == 1 ) { if(day == 1) { System.out.println("上一天:"+(year-1)+"年"+(month-1)+"月"+"30日"); System.out.println("下一天"+year+"年"+month+"月"+(day+1)+"日"); }else if(day == 31) { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天"+year+"年"+(month+1)+"月"+"1日"); }else { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); } }else if(month == 4||month == 6|| month == 9 ||month == 11) { if(day == 1) { System.out.println("上一天:"+(year-1)+"年"+month+"月"+"31日"); System.out.println("下一天"+year+"年"+month+"月"+(day+1)+"日"); }else if(day == 30) { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天"+year+"年"+(month+1)+"月"+"1日"); }else { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); } }else if(month == 2) { if(year % 4 == 0 && year % 100 !=0 ||year % 400 ==0 ) { if(day == 1) { System.out.println("上一天:"+year+"年"+(month-1)+"月"+"31日"); System.out.println("下一天"+year+"年"+month+"月"+(day+1)+"日"); }else if(day == 29) { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天"+year+"年"+(month+1)+"月"+"1日"); }else { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天"+year+"年"+month+"月"+(day+1)+"日"); } }else { if(day == 1) { System.out.println("上一天:"+year+"年"+(month-1)+"月"+"31日"); System.out.println("下一天"+year+"年"+month+"月"+(day+1)+"日"); }else if(day == 28) { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天"+year+"年"+(month+1)+"月"+"1日"); }else { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天"+year+"年"+month+"月"+(day+1)+"日"); } } }else if(month == 3) { if(day == 1) { if(year % 4 ==0 && year % 100 !=0||year % 400 ==0) { System.out.println("上一天:"+year+"年"+(month-1)+"月"+"29日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); }else { System.out.println("上一天:"+year+"年"+(month-1)+"月"+"28日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); } }else if(day == 31) { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天:"+year+"年"+(month+1)+"月"+"1日"); }else { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); } }else if(month == 5 || month == 7 || month == 10) { if(day == 1) { System.out.println("上一天:"+year+"年"+(month-1)+"月"+"30日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); }else if(day == 31) { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天:"+year+"年"+(month+1)+"月"+"1日"); }else { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); } } else if(month == 12) { if(day == 1) { System.out.println("上一天:"+year+"年"+(month-1)+"月"+"30日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); }else if(day == 31) { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天:"+(year+1)+"年"+"1月"+"1日"); }else { System.out.println("上一天:"+year+"年"+month+"月"+(day-1)+"日"); System.out.println("下一天:"+year+"年"+month+"月"+(day+1)+"日"); } } } }