电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

简单的日历表写法


发布日期:2022/8/20
 

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>

上一篇:测试要考虑成本、粒度 和角度问题

下一篇:软件代码数字签名基本原理