软件编程
位置:首页>> 软件编程>> java编程>> java控制台打印本月的日历

java控制台打印本月的日历

作者:水果623  发布时间:2023-10-15 22:58:12 

标签:java,控制台,打印日历

Java在控制台打印本月日历

在学习《Java核心技术卷I·基础知识》第10版 的时候里面有一个小例子,就是在控制台上打印日历的一个例子,就想自己试试。

代码如下:

import java.time.LocalDate;
public class TestScanner {
public static void main(String[] args) {
   rili();
 }
private static void rili() {
System.out.println(" Mon Tue Web Thu Fri Sta Sun");
   //获取当前日期
   LocalDate now = LocalDate.now();
   //获取当前月份
   int nowMonth = now.getMonthValue();
   //获取今天是几号
   int nowDay = now.getDayOfMonth();
   //在外部设置一个月份的变量,用于与当前月份进行判断
   int dayOfMonth = nowMonth;
   //获取本月月初的日期
   now = now.minusDays(nowDay - 1);
   //获取月初是星期几
   int firstWeek = now.getDayOfWeek().getValue();
   String blank = "";
   for(int i = 0; i < firstWeek; i++) {
     blank += "  ";
   }
   //如果1号是星期一的话前面添加三个空格
   if(firstWeek != 1) {
     //截取最后一个空格用于存放日期,不然的话会错位
     blank = blank.substring(0, blank.length() - 1);
   } else {
     blank = "  ";
   }
   //打印日期
   System.out.print(blank + now.getDayOfMonth());
   //如果加1天之后的日期还是本月份的就一直打印
   while(dayOfMonth == nowMonth) {
     //加1天
     now = now.plusDays(1L);
     //获取加1天之后的月份
     dayOfMonth = now.getMonthValue();
     //如果加一天之后的月份不等于当前月份,就直接跳出循环
     if (dayOfMonth != nowMonth) {
       break;
     }
     //判断如果日期为双位数,就在前面添加两个空格,否则就添加三个空格
     if (now.getDayOfMonth() < 10) {
       //判断加一天之后的日期是否和今天相等,如果相等就在前面加个*
       if (now.getDayOfMonth() == nowDay) {
         System.out.print(" *" + now.getDayOfMonth());
       } else {
         System.out.print("  " + now.getDayOfMonth());
       }
     } else {
       if (now.getDayOfMonth() == nowDay) {
         System.out.print(" *" + now.getDayOfMonth());
       } else {
         System.out.print(" " + now.getDayOfMonth());
       }
     }
     //获取加一天之后的星期数
     int week = now.getDayOfWeek().getValue();
     //如果是星期日,就换行
     if (week == 7) {
       System.out.println();
     }
   }
 }
}

结果

java控制台打印本月的日历

来源:https://blog.csdn.net/u011389297/article/details/84987687

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com