package com.beiwo.other;

/*

* 需求:输入一个年份和月份 ,显示当前月日情况 ,星期数要对应准确

* 1.1900年1月1号开始

* 2.星期 : 直接用总天数对7求余数

* 3.以\t来个开

*/

public class Demo4 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Demo4 demo = new Demo4();

demo.show(1900,1);

}

//定义一个工具方法:判断平年还是闰年

public boolean isLeapYear(int year){

if(year % 400 == 0 || (year % 4==0 && year % 100 != 0)){

return true;

}

return false;

}

//计算输入年份下,月份的总天数 1900

public int getTotalDateFrom(int year , int month){

//1.定年份的总天数

int totalDate = 0;//1900到你输入的年份的总天数 2016 1900 - 1903 = 3

for(int i= 1900 ; i < year ;i++){

if(isLeapYear(i)){ // 闰年

totalDate += 366;

}else {

totalDate += 365;

}

}

//2.计算月份的天数

for(int i = 1 ; i< month ;i++){

totalDate += getDayOfMonth(year, i);

}

return totalDate;

}

public int getDayOfMonth(int year , int month){

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

return 31;

case 4:

case 6:

case 9:

case 11:

return 30;

case 2:

if(isLeapYear(year)){

return 29;

}else {

return 28;

}

default:

return 30;

}

}

public int printSpace(int year , int month){

return getTotalDateFrom(year, month) % 7;

}

public void print(int year , int month){

int countSpac = printSpace(year, month) + 1; // 空格的个数

int count = 0; //定义一个计数

for(int i = 1; i<=countSpac; i++){

count++;

System.out.print("\t");

}

//2.打印日期

for(int i = 1 ; i<=getDayOfMonth(year, month);i++){

if(count % 7 == 0){

System.out.println();

}

count++;

System.out.print(i+"\t");

}

}

public void show(int year , int month){

System.out.println("******************"+year+"****"+month+"***************");

System.out.println("======================================================");

System.out.println("日\t一\t二\t三\t四\t五\t六");

System.out.println("======================================================");

print(year, month);

System.out.println();

}

}

java 打印 日历 详细 注解_java 打印日历相关推荐

  1. java 打印 日历 详细 注解_Java类库 LocalDate类的简单使用(一)之打印本月的日历...

    Java类库的设计者将保存时间与给时间点命名分开.所以标准Java类库分别包含了两个类:一个是用来表示时间点的Date类:另一个是用来表示日历表示法的LocalDate类.这里简单分析了LocalDa ...

  2. java运行时读取注解_Java自定义注解和运行时靠反射获取注解

    转:1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰 ...

  3. 用java怎么写三角形图案_Java 打印三角形图案

    以下是打印三角形图案的Java程序- 示例import java.util.*; public class Demo{ public static void main(String[] args){ ...

  4. java设置打印机默认纸张_java 打印设置打印A4 A5纸

    用java写了一个打印机,遇到打印纸张输出的问题,打印纸张有A4或者A5,当设置A5纸张的时候需要横向打印输出 下面贴出部分代码,用于解决当打印纸张为A5纸张时,文件横向打印 DocPrintJob ...

  5. java设计日历实验报告_JAVA小日历组件-JAVA2课程设计(报告+程序)【提供下载】...

    这个是我们JAVA2的课程设计,弄的很简单的一个小日历组件 1.设计目标 本课程设计是一个JAVA小日历组件的设计,利用Frame框架类.面板类进行图形化界面设计,实现小日历的公历显示等功能. 2.设 ...

  6. java 日历控件_java swing 日历控件怎么实现 最好是源码

    展开全部 源代码: e69da5e887aa3231313335323631343130323136353331333330363864//DatePicker.java package com.kx ...

  7. java日期减去指定月份_Java 使用日历向当前日期添加或减去月份

    import java.util.Calendar;/**来 自 时 代 J a v a - nowjava.com**/ public class Main { public static void ...

  8. php 打印对象详细信息,php打印显示数组与对象的函数详解

    php打印显示数组与对象的函数详解 发布于 2014-11-17 18:55:49 | 699 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext P ...

  9. java扫描指定package注解_java随笔-扫描使用指定注解的类与方法

    前几天项目中让扫描出所有使用Restful API的方法.刚开始还想着用python过滤关键字来查找的,后来想想可以使用反射来搞的.主要包含以下三个步骤: 根据包名解析包的具体路径 查找指定包下指定注 ...

最新文章

  1. CocoaPods私有库创建
  2. DropDownList控件
  3. Matlab | 数字信号处理:双线性变换法设计IIR数字滤波器
  4. 并行中的分区Partitioner
  5. python坦克大战_Life is short,you need Python——Python实现坦克大战(一)
  6. 文件服务器 说明,文件服务器搭建说明.pdf
  7. 羡慕!援鄂医疗队护士姐妹表达感谢 马云:婚礼记得通知我这个舅舅
  8. Java安装配置环境变量及介绍数据类型
  9. 各大厂商CTR广告预估模型的优缺点对比
  10. testng多线程并行执行测试
  11. 《Word排版艺术》读后感,兼谈LaTeX
  12. Linux目录--proc详解
  13. 点击文本或按钮实现复制
  14. “程序员年薪50万到底有多累、多辛苦?”,句句扎心
  15. 纯前端表格工具使用 - SpreadJS如何将复选框导出Excel
  16. 2022年瑞典经济发展研究报告
  17. android 播放流媒体_30个最佳和免费的Android媒体播放器
  18. win10时间不准_安卓机时间突然变慢10分钟?移动发布回应
  19. 隧道保活超时或协商超时_丰巢快递柜超时收费的法律分析
  20. 10月18日~23日 产品

热门文章

  1. netty系列之:请netty再爱UDT一次
  2. Java怎么屏蔽骂人的词_表示嫌弃一个人的词语-高级的含蓄的骂人的话-形容很反感一个人成语...
  3. burp如何设置微信小程序代理
  4. DVWA-XSS(Reflected) 全级别教程
  5. jQuery下的ajax之省市区三级联动
  6. 计算机自动连续进行数据处理是因为什么,现代计算机之所以能自动连续进行数据处理是因为什么...
  7. 推导:从傅里叶级数展开到傅里叶变换
  8. Mysql高可用集群搭建(一)一主两从服务搭建
  9. 广东高中生多少人_广东省高中生100米短跑记录是多少?谢谢
  10. 服务端是如何主动推送信息到客户端的?