打印 每一年度的日历及该日历每一周在该年度中属于第几周
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* @author Alan
* @Email no008@foxmail.com
package unitTest_code.test.Calendar;
/***
* 打印 每一年度的日历及该日历每一周在该年度中属于第几周
*
*/
import java.util.Scanner;
public class Calendar {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入年份(1900——2099):");
int year = input.nextInt();
int Total = 0;//统计总天数
final String WeekHead="日\t一\t二\t三\t四\t五\t六";
if(year>=1900&&year<=2099){
boolean isLeapYear = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? true : false;
int[]aa=new int[isLeapYear?366:365];//创建数组
//统计天数
for (int i = 1900; i < year; i++) {
Total += ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) ? 366 : 365;
}
Total%=7;
//将星期几存入数组中,每一天都对应了星期几
for (int i = 0; i <aa.length ; i++,Total++) {
Total%=7;
aa[i]=Total;
}
// 输出每个月的日历
int count=0;
int weekCount=0;
for (int i = 1; i <=12 ; i++) {
System.out.println("\n"+year+"年"+i+"月");
System.out.println(WeekHead);
int maxday = 31;
switch (i){//判断月份的最大天数
case 2:
maxday = isLeapYear?29:28;
break;
case 4:case 6:case 9:case 11:
maxday =30;
break;
}
for (int j = 0; j <=aa[count] ; j++) {
if((aa[count]+1)%7==0)
break;
else{
System.out.print("\t");
}
}
for (int j = 1; j <=maxday ; j++) {
System.out.print(j +"\t");
if((aa[count]+1+j)%7==0&&j!=maxday){
weekCount++;
System.out.println( "第"+weekCount+"周");
}
}
count+=maxday;
}
}else {
System.out.println("年份输入有误,请重试");
}
}
}
请输入年份(1900——2099):
2020
2020年1月
日 一 二 三 四 五 六
1 2 3 4 第1周
5 6 7 8 9 10 11 第2周
12 13 14 15 16 17 18 第3周
19 20 21 22 23 24 25 第4周
26 27 28 29 30 31
2020年2月
日 一 二 三 四 五 六
1 第5周
2 3 4 5 6 7 8 第6周
9 10 11 12 13 14 15 第7周
16 17 18 19 20 21 22 第8周
23 24 25 26 27 28 29
2020年3月
日 一 二 三 四 五 六
1 2 3 4 5 6 7 第9周
8 9 10 11 12 13 14 第10周
15 16 17 18 19 20 21 第11周
22 23 24 25 26 27 28 第12周
29 30 31
2020年4月
日 一 二 三 四 五 六
1 2 3 4 第13周
5 6 7 8 9 10 11 第14周
12 13 14 15 16 17 18 第15周
19 20 21 22 23 24 25 第16周
26 27 28 29 30
2020年5月
日 一 二 三 四 五 六
1 2 第17周
3 4 5 6 7 8 9 第18周
10 11 12 13 14 15 16 第19周
17 18 19 20 21 22 23 第20周
24 25 26 27 28 29 30 第21周
31
2020年6月
日 一 二 三 四 五 六
1 2 3 4 5 6 第22周
7 8 9 10 11 12 13 第23周
14 15 16 17 18 19 20 第24周
21 22 23 24 25 26 27 第25周
28 29 30
2020年7月
日 一 二 三 四 五 六
1 2 3 4 第26周
5 6 7 8 9 10 11 第27周
12 13 14 15 16 17 18 第28周
19 20 21 22 23 24 25 第29周
26 27 28 29 30 31
2020年8月
日 一 二 三 四 五 六
1 第30周
2 3 4 5 6 7 8 第31周
9 10 11 12 13 14 15 第32周
16 17 18 19 20 21 22 第33周
23 24 25 26 27 28 29 第34周
30 31
2020年9月
日 一 二 三 四 五 六
1 2 3 4 5 第35周
6 7 8 9 10 11 12 第36周
13 14 15 16 17 18 19 第37周
20 21 22 23 24 25 26 第38周
27 28 29 30
2020年10月
日 一 二 三 四 五 六
1 2 3 第39周
4 5 6 7 8 9 10 第40周
11 12 13 14 15 16 17 第41周
18 19 20 21 22 23 24 第42周
25 26 27 28 29 30 31
2020年11月
日 一 二 三 四 五 六
1 2 3 4 5 6 7 第43周
8 9 10 11 12 13 14 第44周
15 16 17 18 19 20 21 第45周
22 23 24 25 26 27 28 第46周
29 30
2020年12月
日 一 二 三 四 五 六
1 2 3 4 5 第47周
6 7 8 9 10 11 12 第48周
13 14 15 16 17 18 19 第49周
20 21 22 23 24 25 26 第50周
27 28 29 30 31
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?