public class MyCalender {
private int year;
private int mouth;
public MyCalender(int y, int m) {
year = y;
mouth = m;
}
public boolean isLeapYear(int y) {
if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0) {
return true;
}
return false;
}
// 计算1900到目标前一个月的总天数
public int getTotalDaysFrom1900() {
int days = 0;
// 计算整年总天数
for (int i = 1900; i < year; i++) {
days += isLeapYear(i) ? 366 : 365;
}
// 计算整月总天数
for (int i = 1; i < mouth; i++) {
days += getDayOfMouth(i);
}
return days;
}
// 根据提供的月份获取当月总天数
private int getDayOfMouth(int i) {
switch (i) {
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
return isLeapYear(year) ? 29 : 28;
default:
return 31;
}
}
public void print() {
//获取打印当前月信息时要输出的空格数