import javautilArrayList; import javautilCalendar; import javautilList; public class Test { public static void main(String[] args) { List<Integer> links = new ArrayList<Integer>(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); // 采用当月的方式进行构造现在是 年 月 Nil nil = new Nil(links); Systemoutprintln(niltoString()); } } class Nil { /** * 生成日历的 Calendar */ private Calendar calendar; /** * 有链接的日期 */ private List<Integer> links; private static String TABLE_START = <table width=\\ border=\\>\n; private static String TABLE_END = <table>\n; private static String TR_START = <tr>\n; private static String TR_END = </tr>\n; private static String TD_START = <td>; private static String TD_END = </td>\n; private static String TD_BLANK = TD_START + + TD_END; /** * 链接字符串的常量需要将 {} 替换成指定字符串 */ private static String LINK = <a href=\link{}\>{}</a>; /** * 构造当月的日历 * @param links 需要带有链接的日期 */ public Nil(List<Integer> links) { this(CalendargetInstance() links); } /** * 构造指定日期月份的日历 * @param calendar 指定日期 * @param links 需要带有链接的日期 */ public Nil(Calendar calendar List<Integer> links) { calendarset(CalendarDATE ); thiscalendar = calendar; thislinks = links; } public String toString() { StringBuffer sb = new StringBuffer(); sbappend(TABLE_START); sbappend(TR_START); int total = ; // 若非周日时在添加空的 <td> 串以空开将 号显示在指定的位置上 for(int k = calendarget(CalendarDAY_OF_WEEK); total < k; total++) { appendBlank(sb); } for(int i = k = calendargetActualMaximum(CalendarDATE); i <= k; i++) { if((total ) % == ) { sbappend(TR_END)append(TR_START); } appendDate(sb i); total++; } // 最后的日期如果不是周六则在后面添加上若干个 <td> 串以填满表格 while((total ) % != ) { appendBlank(sb); total++; } sbappend(TR_START); sbappend(TABLE_END); return sbtoString(); } private void appendBlank(StringBuffer sb) { sbappend(TD_BLANK); } private void appendDate(StringBuffer sb int date) { sbappend(TD_START); if(ntains(date)) { sbappend(LINKreplace({} StringvalueOf(date))); } else { sbappend(date); } sbappend(TD_END); } } import javautilArrayList; import javautilCalendar; import javautilList; public class Test { public static void main(String[] args) { List<Integer> links = new ArrayList<Integer>(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); linksadd(); // 采用当月的方式进行构造现在是 年 月 Nil nil = new Nil(links); Systemoutprintln(niltoString()); } } class Nil { /** * 生成日历的 Calendar */ private Calendar calendar; /** * 有链接的日期 */ private List<Integer> links; private static String TABLE_START = <table width=\\ border=\\>\n; private static String TABLE_END = <table>\n; private static String TR_START = <tr>\n; private static String TR_END = </tr>\n; private static String TD_START = <td>; private static String TD_END = </td>\n; private static String TD_BLANK = TD_START + + TD_END; /** * 链接字符串的常量需要将 {} 替换成指定字符串 */ private static String LINK = <a href=\link{}\>{}</a>; /** * 构造当月的日历 * @param links 需要带有链接的日期 */ public Nil(List<Integer> links) { this(CalendargetInstance() links); } /** * 构造指定日期月份的日历 * @param calendar 指定日期 * @param links 需要带有链接的日期 */ public Nil(Calendar calendar List<Integer> links) { calendarset(CalendarDATE ); thiscalendar = calendar; thislinks = links; } public String toString() { StringBuffer sb = new StringBuffer(); sbappend(TABLE_START); sbappend(TR_START); int total = ; // 若非周日时在添加空的 <td> 串以空开将 号显示在指定的位置上 for(int k = calendarget(CalendarDAY_OF_WEEK); total < k; total++) { appendBlank(sb); } for(int i = k = calendargetActualMaximum(CalendarDATE); i <= k; i++) { if((total ) % == ) { sbappend(TR_END)append(TR_START); } appendDate(sb i); total++; } // 最后的日期如果不是周六则在后面添加上若干个 <td> 串以填满表格 while((total ) % != ) { appendBlank(sb); total++; } sbappend(TR_START); sbappend(TABLE_END); return sbtoString(); } private void appendBlank(StringBuffer sb) { sbappend(TD_BLANK); } private void appendDate(StringBuffer sb int date) { sbappend(TD_START); if(ntains(date)) { sbappend(LINKreplace({} StringvalueOf(date))); } else { sbappend(date); } sbappend(TD_END); } } 运行结果为 <table width= border=> <tr> <td> </td> <td> </td> <td></td> <td></td> <td><a ></a></td> <td></td> <td></td> </tr> <tr> <td><a ></a></td> <td></td> <td></td> <td><a ></a></td> <td></td> <td></td> <td><a ></a></td> </tr> <tr> <td></td> <td></td> <td><a ></a></td> <td></td> <td></td> <td><a ></a></td> <td></td> </tr> <tr> <td></td> <td><a ></a></td> <td></td> <td></td> <td><a ></a></td> <td></td> <td></td> </tr> <tr> <td><a ></a></td> <td></td> <td></td> <td><a ></a></td> <td></td> <td> </td> <td> </td> <tr> <table> |