栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java控制台打印本月的日历

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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();
      }
    }
  }


}

结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/135713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号