知识大全 简单的日历表写法

Posted

篇首语:宁打金钟一下,不打破鼓千声。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 简单的日历表写法相关的知识,希望对你有一定的参考价值。

  import java util ArrayList;

  import java util Calendar;

  import java util List;

  public class Test

  public static void main(String[] args)

  List<Integer> links = new ArrayList<Integer>();

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  // 采用当月的方式进行构造 现在是 年 月

  Nil nil = new Nil (links);

  System out println(nil toString());

  

  

  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(Calendar getInstance() links);

  

  /**

  * 构造指定日期月份的日历

  * @param calendar      指定日期

  * @param links         需要带有链接的日期

  */

  public Nil (Calendar calendar List<Integer> links)

  calendar set(Calendar DATE );

  this calendar = calendar;

  this links = links;

  

  public String toString()

  StringBuffer sb = new StringBuffer();

  sb append(TABLE_START);

  sb append(TR_START);

  int total = ;

  // 若非周日时 在添加空的 <td> 串 以空开 将 号显示在指定的位置上

  for(int k = calendar get(Calendar DAY_OF_WEEK); total < k; total++)

  appendBlank(sb);

  

  for(int i = k = calendar getActualMaximum(Calendar DATE); i <= k; i++)

  if((total ) % == )

  sb append(TR_END) append(TR_START);

  

  appendDate(sb i);

  total++;

  

  // 最后的日期如果不是周六 则在后面添加上若干个 <td> 串 以填满表格

  while((total ) % != )

  appendBlank(sb);

  total++;

  

  sb append(TR_START);

  sb append(TABLE_END);

  return sb toString();

  

  private void appendBlank(StringBuffer sb)

  sb append(TD_BLANK);

  

  private void appendDate(StringBuffer sb int date)

  sb append(TD_START);

  if(ntains(date))

  sb append(LINK replace( String valueOf(date)));

   else

  sb append(date);

  

  sb append(TD_END);

  

  

  import java util ArrayList;

  import java util Calendar;

  import java util List;

  public class Test

  public static void main(String[] args)

  List<Integer> links = new ArrayList<Integer>();

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  links add( );

  // 采用当月的方式进行构造 现在是 年 月

  Nil nil = new Nil (links);

  System out println(nil toString());

  

  

  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(Calendar getInstance() links);

  

  /**

  * 构造指定日期月份的日历

  * @param calendar      指定日期

  * @param links         需要带有链接的日期

  */

  public Nil (Calendar calendar List<Integer> links)

  calendar set(Calendar DATE );

  this calendar = calendar;

  this links = links;

  

  public String toString()

  StringBuffer sb = new StringBuffer();

  sb append(TABLE_START);

  sb append(TR_START);

  int total = ;

  // 若非周日时 在添加空的 <td> 串 以空开 将 号显示在指定的位置上

  for(int k = calendar get(Calendar DAY_OF_WEEK); total < k; total++)

  appendBlank(sb);

  

  for(int i = k = calendar getActualMaximum(Calendar DATE); i <= k; i++)

  if((total ) % == )

  sb append(TR_END) append(TR_START);

  

  appendDate(sb i);

  total++;

  

  // 最后的日期如果不是周六 则在后面添加上若干个 <td> 串 以填满表格

  while((total ) % != )

  appendBlank(sb);

  total++;

  

  sb append(TR_START);

  sb append(TABLE_END);

  return sb toString();

  

  private void appendBlank(StringBuffer sb)

  sb append(TD_BLANK);

  

  private void appendDate(StringBuffer sb int date)

  sb append(TD_START);

  if(ntains(date))

  sb append(LINK replace( String valueOf(date)));

   else

  sb append(date);

  

  sb append(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>

cha138/Article/program/Java/hx/201311/26120

相关参考

知识大全 asp制作的日历程序

  纯ASP打造的日历程序可自行美化这里仅提供最简单的CSS样式cha138/Article/program/net/201311/14465

我国关于日历效应的研究

我国关于日历效应的研究我国对金融市场日历效应的研究始于20世纪90年代。1、俞乔(1994)和徐建刚(1995)发现,上海和深圳股市的股票收益率都存在周末效应。2、戴国强和陆蓉(1999)利用ARCH

知识大全 简约JS日历控件代码

简约JS日历控件代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这篇文章介绍了一款简约JS日历控

知识大全 定制日历控件[1]

C#高级编程:定制日历控件[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 定制日历控件[2]

C#高级编程:定制日历控件[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 面试自我介绍-如何在履历表中完整的介绍自己

撰写履历表是社会新鲜人必备的第一项能力,也是求职者与企业主接触的第一个沟通管道。在堆积如山的应征信函里,如何在短短几页的履历表中,完整的介绍自己以吸引企业主的兴趣,进而争取到面试机会呢?◆履历表基本架

知识大全 关于Blog日历的做法

关于Blog日历的做法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  昨天有朋友问我如果在blo

环保日历

2月2日国际湿地日1971年2月2日在伊朗的拉姆萨尔签署了一个全球性政府间的湿地保护公约《关于特别是作为水禽栖息地的国际重要湿地公约》(简称《湿地公约》),它是当时针对一种特定生态系统的自然保护全球性

环保日历

2月2日国际湿地日1971年2月2日在伊朗的拉姆萨尔签署了一个全球性政府间的湿地保护公约《关于特别是作为水禽栖息地的国际重要湿地公约》(简称《湿地公约》),它是当时针对一种特定生态系统的自然保护全球性

知识大全 求一款安卓手机上最好的日历软体

求一款安卓手机上最好的日历软体360日历安卓手机上最好的视讯编辑软体视讯编辑的软体你下载视讯编辑器使用就行这款软体还是很好用的我的手机里下载的这款软体手机是OPPO的在应用宝里下载的这款软体没有广告没