PTA 求前N天(Java)。
某度能搜出来的唯一一篇博客写的太复杂了,根本没弄懂是要干什么。误人子弟可不好。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int year, month, day, n;
year = input.nextInt();
month = input.nextInt();
day = input.nextInt();
n = input.nextInt();
int Month[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
Month[2] = 29;
if (year < 1820 || year > 2020 || month < 1 || month > 12 || day < 1 || day > Month[month] || n < -10 || n > 10)
System.out.println("Wrong Format");
else if (day - n >= 1 && day - n <= Month[month])
System.out.printf("%d days ago is:%d-%d-%d\n", n, year, month, day - n);
else {
if (day - n < 1) {
int temp = 0 - (day - n);
if (month - 1 < 1) {
year -= 1;
month = 13;
}
System.out.printf("%d days ago is:%d-%d-%d\n", n, year, month - 1, Month[month - 1] - temp);
} else {
int temp = day - n - Month[month];
if (month + 1 > 12) {
year += 1;
month = 0;
}
System.out.printf("%d days ago is:%d-%d-%d\n", n, year, month + 1, temp);
}
}
}
}