Java在控制台打印本月日历
在学习《Java核心技术卷我·基础知识》第十版的时候里面有一个小例子,就是在控制台上打印日历的一个例子,就想自己试试。
代码如下:
进口java.time.LocalDate; 公开课TestScanner { 公共静态void main (String [] args) { 日利(); } 私有静态失效日利(){ system . out。println(“网络星期一星期二星期四星期五Sta太阳”);//获取当前日期 LocalDate现在=LocalDate.now ();//获取当前月份 int nowMonth=now.getMonthValue ();//获取今天是几号 int现在=now.getDayOfMonth ();//在外部设置一个月份的变量,用于与当前月份进行判断 int dayOfMonth=nowMonth;//获取本月月初的日期 现在=inusDays(现在- 1);//获取月初是星期几 .getValue int一周=now.getDayOfWeek () (); 字符串空白=" "; for (int i=0;我& lt;一周;我+ +){ 空白+=薄? }//如果1号是星期一的话前面添加三个空格 如果(一周!=1){//截取最后一个空格用于存放日期,不然的话会错了位 空白=空白。substring (0, blank.length () - 1); 其他}{ 空白=" "; }//打印日期 system . out。打印(空白+ now.getDayOfMonth ());//如果加1天之后的日期还是本月份的就一直打印 而(dayOfMonth==nowMonth) {//加1天 现在=now.plusDays(1升);//获取加1天之后的月份 dayOfMonth=now.getMonthValue ();//如果加一天之后的月份不等于当前月份,就直接跳出循环 如果(dayOfMonth !=nowMonth) { 打破; }//判断如果日期为双位数,就在前面添加两个空格,否则就添加三个空格 如果(now.getDayOfMonth () & lt;10){//判断加一天之后的日期是否和今天相等,如果相等就在前面加个* 如果(now.getDayOfMonth()==现在){ system . out。打印(“*”+ now.getDayOfMonth ()); 其他}{ system . out。打印(" + now.getDayOfMonth ()); } 其他}{ 如果(now.getDayOfMonth()==现在){ system . out。打印(“*”+ now.getDayOfMonth ()); 其他}{ system . out。打印(" + now.getDayOfMonth ()); } }//获取加一天之后的星期数 .getValue int周=now.getDayOfWeek () ();//如果是星期日,就换行 如果(周==7){ System.out.println (); } } } }
结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。