Java编程:输入年月,输出日历程序

5星 · 超过95%的资源 需积分: 44 229 下载量 171 浏览量 更新于2024-09-18 15 收藏 1KB TXT 举报
"这是一个使用Java编写的简单日历类程序,可以接受用户输入的年份和月份,然后在控制台输出对应的月份日历。程序利用了`java.util.Calendar`和`java.util.Scanner`这两个核心库。" 在这个Java程序中,开发者创建了一个名为`Calendar_M`的类,并在其中定义了一个`main`方法。`main`方法是程序的入口点,它首先通过`Scanner`对象`scan`获取用户输入的年份和月份。`Scanner`类是Java标准库中的一个类,用于从各种输入源(如控制台)读取数据。 接着,程序创建了一个`Calendar`实例,这是Java中的日期和时间API,可以用来处理日期和时间的各种操作。`Calendar.getInstance()`方法返回一个默认的`Calendar`实例,基于当前系统的时间。 然后,程序设置`Calendar`对象的年份和月份。注意月份的设置减去1,因为Java的`Calendar`类中的月份是从0开始的,所以9月份被表示为`month-1`,即8。 通过调用`cd.get(Calendar.DAY_OF_WEEK)`,程序获取了当月第一天是星期几(1代表星期日,2代表星期一,以此类推)。`week`变量存储了这个值,用于确定日历的起始位置。 接下来,程序定义了两个数组`dayofP`和`dayofR`,分别对应普通年份和闰年的每个月天数。如果年份能被400整除,或者不能被100整除但能被4整除,那么这一年就是闰年。通过判断条件,程序决定使用哪个数组来获取当月的天数。 在输出日历的布局时,程序首先打印出星期的头部,然后通过循环打印出日历的空白格子,使得日历的起始位置正确对齐。之后,程序再次使用循环输出月份中的每一天,每7天换一行,直到所有日期都被打印出来。 整个程序结构清晰,逻辑简单,适合初学者学习关于Java日期处理和控制台输出的基本知识。通过这个程序,开发者可以了解到如何利用Java标准库处理日期、接受用户输入以及控制台输出等基本编程概念。