CalendarGenerator

一个简单的程序,使用gtk,接受 年份 宽度 高度 文件名 四个参数,生成如下日历图。

[img]http://dl.iteye.com/upload/attachment/262280/912d543d-38ef-3055-8fdf-fb098a382425.png[/img]
在Java中,你可以使用`java.time`包下的`MonthDay`和`YearMonth`类来生成并打印任意月份的日历。下面是一个简单的示例,它会接收用户输入的年份和月份,然后显示对应的日历: ```java import java.time.Month; import java.time.YearMonth; public class CalendarGenerator { public static void main(String[] args) { // 接收用户输入的年份和月份 int year = Integer.parseInt(args[0]); int month = Integer.parseInt(args[1]); // 检查输入是否有效(年份大于等于1900) if (year < 1900 || year > 9999) { System.out.println("无效的年份。请输入1900到9999之间的年份."); return; } // 创建MonthDay对象,并获取对应月份的日历 MonthDay date = MonthDay.of(month, 1); // 我们假设每个月的第一天就是开始日期 YearMonth yearMonth = YearMonth.of(year, month); var calendar = yearMonth.atDay(date); // 打印日历 for (int i = 1; i <= calendar.lengthOfMonth(); i++) { System.out.printf("%2d ", i); // 使用两个空格对齐数字 } System.out.println(); // 如果是闰年的二月,需要额外处理29号 if (calendar.getMonth() == Month.FEBRUARY && isLeapYear(year)) { System.out.printf("%2d ", 29); } System.out.println(); } // 判断给定年份是否为闰年 private static boolean isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } } ``` 运行此程序时,传入年份和月份作为命令行参数,例如: ``` java CalendarGenerator 2023 12 ``` 这将打印2023年12月的日历。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值