zoukankan      html  css  js  c++  java
  • 打印 每一年度的日历及该日历每一周在该年度中属于第几周

    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   

  • 相关阅读:
    trackr: An AngularJS app with a Java 8 backend – Part III
    trackr: An AngularJS app with a Java 8 backend – Part II
    21. Wireless tools (无线工具 5个)
    20. Web proxies (网页代理 4个)
    19. Rootkit detectors (隐形工具包检测器 5个)
    18. Fuzzers (模糊测试器 4个)
    16. Antimalware (反病毒 3个)
    17. Debuggers (调试器 5个)
    15. Password auditing (密码审核 12个)
    14. Encryption tools (加密工具 8个)
  • 原文地址:https://www.cnblogs.com/ios9/p/13516302.html
Copyright © 2011-2022 走看看