Java小白入门200例59之用Calendar实现日历的打印

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例59之用Calendar实现日历的打印相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  58.日期Calendar类详解
►下一篇  60.SimpleDateFormat时间格式化详解

实现

package demo.demo59;

import java.util.Calendar;

import demo.demo1.Print1;

public class Demo {

	public static void main(String[] args) {
		int daysArray[][] = new int[6][7];// 存放日历的数据
		//组装日历数据
		build(daysArray);
		//打印日历数据
		print(daysArray);
	}
	//组装好日历数据
	private static void build(int[][] daysArray) {
		Calendar calendar = Calendar.getInstance();
		calendar.set(2021, 8, 1); // 实际的calendar对象所表示的日期为2021年9月1日
		// 判断2021年9月1日为一周中的第几天
		int index = calendar.get(Calendar.DAY_OF_WEEK) - 1;
		
		int daysInMonth = 31; // 该月的天数
		int day = 1; // 自动增长
		for (int i = index; i < 7; i++) {
			// 填充第一周的日期数据,即日历中的第一行
			daysArray[0][i] = day++;
		}
		for (int i = 1; i < 6; i++) {
			// 填充其他周的日历数据,控制行
			for (int j = 0; j < 7; j++) {
				// 如果当前day表示的是本月最后一天,则停止向数组中继续赋值
				if (day > daysInMonth) {
					i = 6;
					break;
				}
				daysArray[i][j] = day++;
			}
		}
	}
	//打印数据
	private static void print(int[][] daysArray) {
		char[] title = { '日', '一', '二', '三', '四', '五', '六' }; // 存放曰历的头部
		System.out.println("------------------22021 年 9 月--------------------\\n");
		for (int i = 0; i < title.length; i++) {
			System.out.print(title[i] + "\\t");
		}
		System.out.print("\\n");
		// 输出二元数组daysArray中的元素
		for (int i = 0; i < 6; i++) {
			for (int j = 0; j < 7; j++) {
				if (daysArray[i][j] == 0) {
					if (i != 0) {
						// 如果到月末,则完成显示日历的任务,停止该方法的执行
						return;
					}
					System.out.print("\\t");
					continue;
				}
				System.out.print(daysArray[i][j] + "\\t");
			}
			System.out.print("\\n");
		}
	}

}

运行结果

程序看起来比较长其实很简单,总共2个方法,方法1组装好一个二维数组,方法2打印出这个二维数组。

小结

这节总结了“用Calendar实现日历的打印”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  58.日期Calendar类详解
►下一篇  58.SimpleDateFormat时间格式化详解

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

以上是关于Java小白入门200例59之用Calendar实现日历的打印的主要内容,如果未能解决你的问题,请参考以下文章

Java新手入门200例126之用单向链表实现栈

Java新手入门200例124之用JDBC连接Mysql数据库

Java新手入门200例125之用C3P0连接Mysql实例

Java小白入门200例目录

Java小白入门200例98之Java异常

Java小白入门200例95之Java匿名类