蓝桥杯其他真题点这里👈
注意日期合法的判断
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Main{static int[] days = {0,31,28,31,30,31,30,31,31,30,31,30,31};static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));public static void main(String[] args) throws IOException {String[] init = in.readLine().split("/");int a = Integer.parseInt(init[0]);int b = Integer.parseInt(init[1]);int c = Integer.parseInt(init[2]);for (int i = 19600101; i < 20591231; i++) {int year = i / 10000;int month = i / 100 % 100;int day = i % 100;if (check(year,month,day)){if (year % 100 == a && month == b && day == c //abc|| year % 100 == c && month == a && day == b //cab|| year % 100== c && month == b && day == a //cba) System.out.printf("%d-%02d-%02d\n",year,month,day);}}in.close();}public static boolean check(int year,int month,int day){//月份异常if (month == 0 || month > 12) return false;//天数异常if (day == 0 || month != 2 && day > days[month]) return false;//不是2月的情况可能会在这出现,比如1月32号if(month == 2){//单独判断月份为2时是否是闰年int res = 0;if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) res++;if (day > 28 + res) return false;}return true;}
}