参考 - P102~P103

1. 目标

生成一个日历,格式如下图所示。

ps: 当前的天数需要标记为*

2. 核心

对日历的变量

import java.time.*;
public class CalendarTest{public static void main(String[] args) {LocalDate date = LocalDate.now();    // 获取当前日期int month = date.getMonthValue(); // 获取当前月份int today = date.getDayOfMonth();   // 获取当前的天数date = date.minusDays(today - 1);  // 将当前日期设置为月初while(date.getMonthValue() == month) {       // 只要是当月就输出,否则跳出循环System.out.printf("%3d", date.getDayOfMonth());date = date.plusDays(1);}}
}

3. 实现

在核心部分实现了日历的循环打印,接下来只需要补全表头、当前日期和换行即可.

import java.time.*;public class CalendarTest{public static void main(String[] args) {LocalDate date = LocalDate.now();int month = date.getMonthValue();int today = date.getDayOfMonth();date = date.minusDays(today - 1);       // 设置为本月的开头DayOfWeek  weekday = date.getDayOfWeek();     // 获取星期几int value = weekday.getValue();     // 将星期几兑换成对应的数字System.out.println("Mon Tue Wed Thu Fri Sat Sun");  // 日历头for(int i = 1; i < value; i++) {    // 打印对应的空格System.out.print("    ");}while(date.getMonthValue() == month) {System.out.printf("%3d", date.getDayOfMonth());     // 获取当前多少号if(date.getDayOfMonth() == today) {System.out.print("*");} else {System.out.print(" ");}date = date.plusDays(1);if(date.getDayOfWeek().getValue() == 1){System.out.println();}}if (date.getDayOfWeek().getValue() != 1) System.out.println();}
}

[Java核心技术(卷I)] - 简易的日历相关推荐

  1. java实现图形界面输入半径求圆面积_【读】Java核心技术卷1

    阅读原文:[读]Java核心技术卷1 看到这本书时,我的内心是崩溃的,卷1就700多页,但是这本书是很多前辈所推荐的,想必其中必有精华所在,硬着头皮上吧. 如何阅读本书 拿到书的第一眼肯定去看目录,大 ...

  2. 《Java核心技术 卷Ⅰ》读书笔记一

    Java核心技术·卷 I(原书第10版) 作者: [美] 凯.S.霍斯特曼(Cay S. Horstmann) 出版社: 机械工业出版社 原作名: Core Java Volume I - Funda ...

  3. 新书推荐 | Java核心技术 卷II 高级特性(原书第11版)

    新书推荐 <Java核心技术 卷II 高级特性(原书第11版)> 长按二维码 了解及购买 全新第11版!针对Java SE9.10.11全面更新!Java领域极具影响力和价值的著作之一,与 ...

  4. java12章_【有书共读】java核心技术卷1--第12章

    ==============java核心技术卷1第12章----Swing用户界面组件===========主要内容:1 swing和模型-视图-控制器设计模式2布局管理 3文本输入4选择组件 5菜单 ...

  5. 《Java 核心技术卷1 第10版》学习笔记------异常

    异常处理的任务就是将控制权从错误产生的地方转移给能够处理这种情况的错误处理器 . 7.1.1 异常分类 在 Java 程序设计语言中, 异常对象都是派生于 Throwable 类的一个实例 . 稍后还 ...

  6. Java 核心技术卷 II(第 8 版) – 读书笔记 – 第 1 章(下)

    22.一旦获得了一个 Charset,就可以在 Java 的 Unicode 和指定的编码格式之间进行转化,下面以 GBK 和 Unicode 之间做为例子. 从 Unicode 到 GBK: imp ...

  7. Java编程思想+Effective Java+Java核心技术+Java核心技术 卷II+Java语言程序设计(中文+英文+源码)

    Java四大名著(中文+英文+源码 ) 传说中的java四大名著,分享出来方便大家学习! 书名如下: Java编程思想 Effective Java(第2版) Java核心技术 卷I(第8版) Jav ...

  8. JAVA基础----终弄清java核心技术卷1中的int fourthBitFromRight = (n 0b1000 ) / 0b1000;是怎么回事了。。。

    一个关于位与运算的问题 对于<JAVA核心技术 卷1>(第11版) page43 第三章 3.5.8一节中有个描述如下: 如果n是一个整数变量,而二进制表示的n从右边数第四位1,则 int ...

  9. 《Java 核心技术 卷1》 笔记 第11章 异常、日志、断言和调试

    出现不可预计的问题时,需要进行如下处理: 报告错误 保存操作结果 允许用户退出 本章解决的问题: 验证程序正确性 记录程序错误 调试技巧 11.1 处理异常 程序出现错误时应该: 返回安全状态,能让用 ...

最新文章

  1. mongodb java 学习_《 mongodb 学习 》java 基本操作
  2. Scott Mitchell 的ASP.NET 2.0数据教程之三十九:: 在编辑和插入界面里添加验证控件...
  3. python 管道 异步读取 select_python之异步select解析
  4. sparkstreaming 读取mysql_第十篇|SparkStreaming手动维护Kafka Offset的几种方式
  5. Mysql数据库——sql语句进阶
  6. 大数据— Hadoop
  7. oracle的游标的属性,Oracle 游标属性
  8. html5中让页面缩放的4种方法
  9. 用viewpager实现图片轮播
  10. 网络分析仪测试线损_网络分析仪测试天线隔离度
  11. windows11常用快捷键
  12. java coroutine / xiecheng / java Qursar /
  13. 无为而无不为和企业管理
  14. 机器学习笔记——数据挖掘与机器学习区别以及课程内容
  15. Linux驱动程序安装步骤
  16. python实现键盘记录木马
  17. 上海中学高考2021成绩查询,2021上海地区高考成绩排名查询,上海高考各高中成绩喜报榜单...
  18. 奥塔在线:Centos下使用rpm方式安装crontab服务
  19. 力扣416 二维数组解法
  20. 2022.12.28雷神加速器更新问题

热门文章

  1. php数组变量太大后台返回500,PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值...
  2. jackson 序列化_jackson序列化与反序列化的应用实践
  3. 计算机软件中级职称 入职,计算机职调称论文.doc
  4. gridlayoutmanager 设置间距_不设置主灯的客厅应当如何保证较好的灯光分布?
  5. matlab 随机森林算法_随机森林算法
  6. maven 关联源码插件_繁琐的任务简单化,Maven的插件机制
  7. xBIM 基础16 IFC的空间层次结构
  8. python基础之常用的高阶函数
  9. Windows网络接口API函数
  10. 【hdu 6038】Function