public List getDayList() { List dayList = new ArrayList(); for (int monthCount = 0; monthCount < 12; monthCount++) { for (int dayCount = 1; dayCount <= monthLimit[monthCount][0]; dayCount++) { dayList.add(year + fillZero(monthCount + 1) + fillZero(dayCount)); } } return dayList; }
public String fillZero(int target) { return fillZero(String.valueOf(target)); }
public String fillZero(String target) { if (target.length() < 2) { return "0" + target; } return target; } public static void main(String args[]) { List list = new DayList(2004).getDayList(); for (int index = 0; index < list.size(); index++) { System.out.println(list.get(index)); } } }
用switch-case拼串呗
import java.util.List;
public class DayList {
private int year = 1900;
private int[][] monthLimit = new int[12][1];
public boolean isLeapYear(int year) {
return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}
public DayList(int year) {
monthLimit[0][0] = 31;
if (isLeapYear(year)) {
monthLimit[1][0] = 29;
} else {
monthLimit[1][0] = 28;
}
monthLimit[2][0] = 31;
monthLimit[3][0] = 30;
monthLimit[4][0] = 31;
monthLimit[5][0] = 30;
monthLimit[6][0] = 31;
monthLimit[7][0] = 31;
monthLimit[8][0] = 30;
monthLimit[9][0] = 31;
monthLimit[10][0] = 30;
monthLimit[11][0] = 31;
this.year = year;
}
public List getDayList() {
List dayList = new ArrayList();
for (int monthCount = 0; monthCount < 12; monthCount++) {
for (int dayCount = 1; dayCount <= monthLimit[monthCount][0]; dayCount++) {
dayList.add(year + fillZero(monthCount + 1) + fillZero(dayCount));
}
}
return dayList;
}
public String fillZero(int target) {
return fillZero(String.valueOf(target));
}
public String fillZero(String target) {
if (target.length() < 2) {
return "0" + target;
}
return target;
}
public static void main(String args[]) {
List list = new DayList(2004).getDayList();
for (int index = 0; index < list.size(); index++) {
System.out.println(list.get(index));
}
}
}