• java中日历代码的实现



    1
    import java.util.Scanner; 2 com.lv.calendarWatch//包名 3 /* 4 * 需求:输入一个年份和月份 ,显示当前月日情况 ,星期数要对应准确 5 * 1.1900年1月1号开始 6 * 2.星期 : 直接用总天数对7求余数 7 * 3.以 来个开 8 */ 9 public class Demo9 { 10 11 /** 12 * @param args 13 */ 14 public static void main(String[] args) { 15 // TODO Auto-generated method stub 16 17 Demo9 demo = new Demo9(); 18 Scanner keyInput =new Scanner(System.in); 19 System.out.println("请输入你想要查的年"); 20 int key1 = keyInput.nextInt(); 21 System.out.println("请输入你想要查的月份"); 22 int key2 = keyInput.nextInt(); 23 demo.show(key1,key2); 24 25 } 26 27 //定义一个工具方法:判断平年还是闰年 28 public boolean isLeapYear(int year){ 29 30 if(year % 400 == 0 || (year % 4==0 && year % 100 != 0)){ 31 32 return true; 33 } 34 35 return false; 36 } 37 38 //计算输入年份下,月份的总天数 1900 39 40 public int getTotalDateFrom(int year , int month){ 41 42 //1.定年份的总天数 43 int totalDate = 0;//1900到你输入的年份的总天数 2016 1900 - 1903 = 3 44 for(int i= 1900 ; i < year ;i++){ 45 46 if(isLeapYear(i)){ // 闰年 47 48 totalDate += 366; 49 }else { 50 51 totalDate += 365; 52 } 53 } 54 55 //2.计算月份的天数 56 for(int i = 1 ; i< month ;i++){ 57 58 totalDate += getDayOfMonth(year, i); 59 } 60 61 return totalDate; 62 63 } 64 65 66 67 public int getDayOfMonth(int year , int month){ 68 69 switch (month) { 70 case 1: 71 case 3: 72 case 5: 73 case 7: 74 case 8: 75 case 10: 76 case 12: 77 78 return 31; 79 80 case 4: 81 case 6: 82 case 9: 83 case 11: 84 return 30; 85 case 2: 86 if(isLeapYear(year)){ 87 88 return 29; 89 }else { 90 91 return 28; 92 } 93 default: 94 return 30; 95 } 96 } 97 98 public int printSpace(int year , int month){ 99 100 return getTotalDateFrom(year, month) % 7; 101 } 102 103 public void print(int year , int month){ 104 105 int countSpac = printSpace(year, month) + 1; // 空格的个数 106 int count = 0; //定义一个计数 107 for(int i = 1; i<=countSpac; i++){ 108 count++; 109 System.out.print(" "); 110 } 111 112 //2.打印日期 113 for(int i = 1 ; i<=getDayOfMonth(year, month);i++){ 114 115 if(count % 7 == 0){ 116 117 System.out.println(); 118 } 119 count++; 120 System.out.print(i+" "); 121 122 } 123 124 } 125 126 public void show(int year , int month){ 127 128 System.out.println("******************"+year+"****"+month+"***************************"); 129 System.out.println("======================================================"); 130 System.out.println("日 一 二 三 四 五 六"); 131 System.out.println("======================================================"); 132 print(year, month); 133 System.out.println(); 134 } 135 136 137 }

    运行结果如下所示:

  • 相关阅读:
    iOS推送证书从申请到使用
    leetcode
    C++測量一段代码的执行时时间
    UIView的几个枚举定义
    在CDialog::OnInitDialog设置DEFAULT-BUTTON的注意事项
    转:VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
    COM学习笔记
    关于StdAfx.h和StdAfx.cpp
    解决:CWnd::SetWindowText报Assertion failure
    四种DLL:NON-MFC DLL, Regular DLL Statically/Dynamically Linked to MFC, MFC Extension DLL
  • 原文地址:https://www.cnblogs.com/lwlxqlccc/p/6110362.html
Copyright © 2020-2023  润新知