判断一个日期是否是闰年需要判断的东西比较多,不过java推出的localDate可以直接帮我们计算不用我们自己来写函数来模拟,我们需要是不是回文就可以了
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
public static boolean isReaptNum(String a, int left, int right) {
if (left < 0 || right >= a.length() || left >= right) {
return false;
}
while (left < right) {
if (a.charAt(left) != a.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
public static boolean verify(LocalDate date1,LocalDate date2){
if(date1.equals(date2)){
return true;
}
if(date1.isBefore(date2)){
return true;
} else{
return false;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int from = scanner.nextInt();
int to = scanner.nextInt();
LocalDate fromTime = LocalDate.of(from / 10000, from % 10000 / 100, from % 100);
LocalDate toTime = LocalDate.of(to / 10000, to % 10000 / 100, to % 100);
DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyyMMdd");
int count = 0;
while(verify(fromTime,toTime)){
String format = fromTime.format(formatters);
int right = format.length();
if(isReaptNum(format,0,right-1)){
count++;
}
fromTime = fromTime.plusDays(1L);
}
System.out.println(count);
return;
}
}