Java实验六由键盘输入年份,编写一个程序显示当年的日历,用Application程序实现。
开始学习java有几个月了,实验报告难度也梯度增加,前几篇无论难度高低,终究能东搜西查整出来,唯独这篇,虽然在我写的时候,csdn上也有两篇同主题文章,但要么程序复杂看不懂,要么有bug,叫人头疼。写下这篇,算是给后来的朋友一个简单的参考吧。
实验指导书部分内容:
有关输出日历的两点说明
1. 求某一年的1月1日是星期几的方法
假设当前年份为y,并忽略闰年,则从公元元年1月1日到y-1年共有365(y-1)天,加上闰年多出来的天数,即加上1((y-1)/4-(y-1)/100+(y-1)/400),"/"为整除,得:365(y-1)+((y-1)/4-(y-1)/100+(y-1)/400)。
补上一个x(x是与公元元年1月1日是星期几有关的一个0~6的整数),并将这个表达式赋给变量t,即:*
t=x+365*(y-1)+((y-1)/4-(y-1)/100+(y-1)/400)再用t除以7,余几即为星期几(余0为星期日)。
下面讨论x的求法:
如果知道公元元年1月1日是星期几,就可以直接得到x的值,但现在公式还没有求出来,不知道公元元年1月1日是星期几。不过没关系,毕竟知道最近的日期是星期几。不妨看一下2001年1月1日是星期几,结果是星期一,代入公式得t=x+730516,用730516除以7,得104