Q1:特殊日期:
问题:
思路:
直接用jdk8新增的日期类,LocalDate
代码:
import java.time.LocalDate;
public class Question1 {
public static void main(String[] args) {
LocalDate date1 = LocalDate.of(1900, 1, 1);
int ans = 0;
while (true) {
LocalDate tempData = date1.plusDays(1);
date1 = tempData;
int year = date1.getYear();
int month = date1.getMonthValue();
int day = date1.getDayOfMonth();
if (year == 9999 && month == 12 && day == 31) break;
if (sum(year) == sum(month) + sum(day)) ans++;
}
System.out.println(ans);
}
//数位数字之和
public static int sum(int n) {
int cnt = 0;
while (n > 0) {
cnt += n % 10;
n /= 10;
}
return cnt;
}
}