java打印格式_JAVA打印markdown格式日历

packagecom.umf.hao;importjava.util.Calendar;importjava.util.GregorianCalendar;importjava.util.Scanner;/*** @ClassName: MyCalendarTable

* @description Java生成markdown格式日历

*@authorhaoprogrammer@hotmail.com

* @time 2020年2月27日 下午3:01:09*/

public classMyCalendarTable {public static voidmain(String[] args) {

Scanner scanner=newScanner(System.in);

System.out.print("");int year =scanner.nextInt();

System.out.print("");int month =scanner.nextInt();

System.out.println("## " + year + "年"+ month + "月日历如下:\n");

String heads[]= {"日期","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

tableHead(heads);//打印表格内容:

tableBody(year, month);

}/*** @Title: tableHead

* @Description: 打印日历头部

*@authorhaoprogrammer@hotmail.com

* @time 2020年2月26日 下午4:51:37

*@paramheads

*@return

*/

public static voidtableHead(String[] heads){//打印表格头

for(int i = 0;i < heads.length; i ++){

System.out.print("|" +heads[i] );

}//标题行结束

System.out.print("|\n");for(int i = 0;i < heads.length; i ++){

System.out.print("|-------");

}//markdown语法行结束

System.out.print("|\n");

}/*** @Title: tableBody

* @Description: 打印日历体正文

*@authorhaoprogrammer@hotmail.com

* @time 2020年2月26日 下午4:52:57

*@paramyear

*@parammonth

*@return

*/

public static void tableBody(int year, intmonth) {

GregorianCalendar cal=new GregorianCalendar(year ,month - 1,1);//对年份,月份,以及第一天来创建对象

int totalDays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);//获取该月份的天数

int startDay = cal.get(Calendar.DAY_OF_WEEK) - 1;//获取该月的第一天是星期几

System.out.print("| 日期 ");for(int i = 0;i < startDay;i ++) {

System.out.print("|-------"); //输出第一天前markdown语法

}for(int day = 1;day <= totalDays;day ++) {

System.out.print("| "+ day + " ");

startDay++;if(startDay % 7 == 0) { //每个星期输完换行

System.out.print("|\n");

System.out.print(makeString("已完成:") + "\n");

System.out.print(makeString("未完成:") + "\n");

System.out.print(makeString("需要沟通:") + "\n");

System.out.print(makeString("其他:") + "\n");

System.out.print("| 日期 ");

}if(day >=totalDays) {

System.out.print("\n" + makeString("已完成:") + "\n");

System.out.print(makeString("未完成:") + "\n");

System.out.print(makeString("需要沟通:") + "\n");

System.out.print(makeString("其他:") + "\n");

}

}

}/*** @Title: makeString

* @Description: 制作一行以key 开头的markdown字符串

*@authorhaoprogrammer@hotmail.com

* @time 2020年2月27日 下午2:45:58

*@paramkey

*@return

*/

public staticString makeString(String key) {

StringBuilder work= newStringBuilder();

work.append("|" +key);for(int i = 0; i < 8; i++) {

work.append("|-------");

}

work.append("|");returnwork.toString();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值