package hangshu;

/*

* 打印从1900年到2、year年的日历

*/

import java.util.Scanner;

public class Calender {

public static int year = Integer.MIN_VALUE;

public static int month = Integer.MIN_VALUE;

private static int[] m = {31,28,31,30,31,30,31,31,30,31,30,31};

public static void main(String[] args) {

// TODO Auto-generated method stub

InputYearAndAay(); //输入年月

printBiaotou();  //打印表头

printCanlender(); //打印日历

}

//打印日历

private static void printCanlender() {

int sum=getSumYear();

sum+=getSumMonth();

int count = sum%7;

for(int i=0;i<=count-1;i++)

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

for(int i=1;i<=m[month-1];i++)

{

System.out.print(i+"\t");    if(sum%7 == 6)     System.out.print("\n");    sum++;

}

}

//计算year总天数

private static int getSumYear(){

int sum = 0;

for(int i=1900;i

{

sum+=365;

if(Judge(year))

sum++;

}

return sum;

}

//计算month的总天数

private static int getSumMonth() {

int sum = 0;

for(int i=0;i

{

sum+=m[i];

}

if(Judge(year) && month>2)

sum++;

sum++;       //要计算1900年到year年month—1的天数

return sum;

}

//打印表头

private static void printBiaotou() {

String[] mon = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};

String[] week = {"星期一 ","星期二 ","星期三 ","星期四 ","星期五 ","星期六 ","星期日"};

System.out.println(year+"年"+"  "+mon[month-1]);      for(int i=0;i<7;i++)

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

System.out.println();

}

//输入年月

private static void InputYearAndAay(){

Scanner input = new Scanner(System.in);

System.out.print("请输入年份:");

year = input.nextInt();

System.out.print("请输入月份:");

month = input.nextInt();

input.close();

input = null;

}

//判断是否闰年

private static boolean Judge(int year) {

return year%4 == 0 && year%100 != 0 || year%400 == 0;

}

}

Java日历打印_使用java 打印日历相关推荐

  1. java编写日历思路_使用JAVA写一个简单的日历

    JAVA写一个简单的日历import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDat ...

  2. java 批量打印_用java怎样实现批量打印

    展开全部 下面是实现Java批量打印功能的具体工具类,其中的Info类和UserClass为具体的快递面单中要打印的信息e68a8462616964757a686964616f313333633839 ...

  3. java多线程交替打印_使用Java实现三个线程交替打印0-74

    使用Java实现三个线程交替打印0-74 题目分析 三个线程交替打印,即3个线程是按顺序执行的.一个线程执行完之后,唤醒下一个线程,然后阻塞,等待被该线程的上一个线程唤醒.执行的顺序是一个环装的队列 ...

  4. java课程设计日历记事本_《Java程序设计》课程设计日历记事本.doc

    <Java程序设计>课程设计日历记事本 PAGE PAGE 2 本科生课程设计 课程名称 Java程序设计课程设计 课程编号 j1620011 题目 日历记事本 学号 2008116222 ...

  5. java 预览打印_请问JAVA如何实现打印及打印预览功能?

    展开全部 package com.szallcom.tools; import java.awt.BorderLayout; import java.awt.Color; import java.aw ...

  6. java打印输出万年历_用Java编程输出万年历的功能实现

    1.功能实现 输入1查看上个月日历 输入2查看下个月日历 输入3查看去年本月日历 输入4查看明年本月日历 输入5查看指定月份日历 2.代码所导入的包 import java.text.ParseExc ...

  7. java 字符串包_包java字符串

    Java核心技术卷I基础知识3.6.3 不可变字符串 3.6.3 不可变字符串 String类没有提供用于修改字符串的方法.如果希望将greeting的内容修改为"Help!",不 ...

  8. bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道

    字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...

  9. java perm 查看_高级 Java 必须掌握:JVM 分析工具和查看命令,超详细

    jinfo 可以输出并修改运行时的java 进程的opts. jps 与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat 一个极强 ...

  10. java main函数_一行JAVA代码如何运行起来?

    在程序员的世界中,你总会听到一句"PHP是世界上最好的语言"的调侃.然而在你进入软件程序开发之后,你会发现即使开发语言千千万,最盛行的还是JAVA.从淘宝的技术变迁中我们可以见一些 ...

最新文章

  1. url中去掉index.php,方便redirect()
  2. Pytorch nn.Transformer的mask理解
  3. 高速串行总线设计基础(四)眼图的形成原理
  4. 13道Python3实例
  5. C++关于引用的注意事项 总结知识点
  6. 如何在程序中嵌入FOP
  7. static{}语句块详解
  8. Zookeeper脑图
  9. ​学习C语言的知识点整理
  10. 文件内容快速搜索工具(Everything、Listary、DocFetcher)
  11. B站晚会大火的 140 万个理由!
  12. 电容 电阻0201/0402/0603/等封装长宽高定义
  13. wow Time Blessing Replacer
  14. wordpress php教程 pdf,wordpress
  15. 说一说 oneway 吧,了解过这个修饰符作用吗?原理是什么?怎么理解单向调用?
  16. usb 启动盘制作的几种办法
  17. C#开发:创建gif图片
  18. python将.mat文件转换为.txt
  19. android rom包修改工具,自己修改安卓的ROM包(非官方) | 寒山烟雨
  20. 如何在CMD下运用管理员权限

热门文章

  1. 浅谈数据库设计技巧(上)
  2. php开发工程师考试试卷,腾讯PHP开发工程师面试试卷
  3. 信息学奥赛一本通 1094:与7无关的数 | OpenJudge NOI 1.5 39
  4. 家庭问题(信息学奥赛一本通-T1362)
  5. Jzzhu and Chocolate(CF-449A)
  6. 图论 —— 最短路 —— Dijkstra 算法
  7. 求最大公约数问题(信息学奥赛一本通-T1207)
  8. 计算(a+b)/c的值(信息学奥赛一本通-T1008)
  9. 小玉买文具(洛谷-P1421)
  10. 19 PP配置-生产计划-定义冻结库存不参与MRP运算