• 打印 每一年度的日历及该日历每一周在该年度中属于第几周


    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="日 一 二 三 四 五 六";
             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(" "+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(" ");
                           
                         }
                     }
                     for (int j = 1; j <=maxday ; j++) {
                             System.out.print(j +" ");
                         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   

  • 相关阅读:
    Oracle--SQL Developer创建连接及使用
    MongoDB--使用修改器修改文档
    MongoDB 的创建、查询、更新、删除
    window下 Mongodb无法访问28107的有关问题(转)
    十一、存储过程
    十、视图
    九、增、改、查数据
    七、联结表
    八、组合查询和全文本搜索
    六、聚合函数、数据分组
  • 原文地址:https://www.cnblogs.com/ios9/p/13516302.html
Copyright © 2020-2023  润新知